Wenn ein Benutzer versucht, einen Ordner per Drag & Drop in mein Datei-Uploader-Steuerelement zu ziehen, muss ich dem Benutzer eine Fehlermeldung anzeigen, dass nur Dateien hochgeladen werden können. Das Problem ist, dass ich eine Datei nicht von einem Ordner unterscheiden konnte.
Eine Möglichkeit war, nach der Dateitypeigenschaft von jQuery zu suchen. Wenn der Name der Datei "test.txt" lautet, gibt der Dateityp "text / plain" zurück. Bei einem normalen Ordnernamen wie "TestFolder" wäre der Dateityp leer und die Dateigröße würde 0 ergeben. Wenn der Ordnername jedoch eine Erweiterung wie "TestFolder.txt" enthält, gibt der Dateityp "text / plain" zurück.
Ich hätte also nach dem Dateityp und der Dateigröße suchen können, aber es würde nicht korrekt für einen Ordnernamen wie "TestFolder.txt" funktionieren. Könnte mir jemand eine gute Lösung vorschlagen, um dies mit jQuery oder anderen Methoden zu beheben?
Die Fähigkeit, festzustellen, ob ein Ordner gelöscht wurde, hängt davon ab, ob der Benutzeragent die Dateisystem-API Entry
DirectoryEntry
und FileEntry
. Die Schnittstelle selbst hat isDirectory
und isFile
Funktionen. Ohne Unterstützung für diese Schnittstelle gibt es keine Möglichkeit festzustellen, ob bei der Untersuchung des Objekts DataTransfer
Objekte gelöscht wurden.
Da Sie nicht zulassen, dass der Ordner per Drag & Drop verschoben wird, prüfen Sie zuerst, ob es sich um einen Ordner oder eine Datei handelt. Nur wenn es sich nicht um einen Ordner handelt, suchen Sie nach der Dateierweiterung. Aber IE & lt; 11 unterstützt keine zu handhabende Datei-API. Hoffe es hilft.
Soweit mir bekannt ist, hat der Browser (und inhärent JavaScript) keinen Zugriff auf Dateizugriffsmethoden für Sicherheitszwecke, so dass Sie nicht überprüfen können, was die Datei eigentlich ist.
Ich habe mit diesem Problem in der Vergangenheit selbst gearbeitet und die beste Option, die ich gefunden habe, ist die Dateiserverseite zu behandeln und den Fehler nach dem Hochladen auf die Seite zurückzugeben.
Ich würde mich jedoch freuen, bessere Alternativen zu sehen.
Tags und Links javascript jquery file-upload drag-and-drop