Upload-Ordner und alle seine Inhalte in JavaScript
Wie lade ich den Inhalt eines Ordners mit JavaScript (client-Seite)? Die FileSystem-API wurde nicht angenommen, die von anderen Browsern als Chrome; bekomme ich nur ein Datei-Element mit dem Namen des Ordners.
Sollte es möglich sein, da Google Drive ermöglicht so löschen Sie einen Ordner und alle Inhalte (Ordner und Dateien) werden automatisch hochgeladen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie tatsächlich upload-Verzeichnisse in allen neuesten Versionen von Chrome, Firefox und Microsoft Rand. Es gibt zahlreiche funktionierende Beispiele zur Verfügung zu betrachten.
Hier ist ein gutes, lauffähiges Beispiel, dass ich schon zuvor in einem Projekt verwendet
Quarklemotion Html5FileSelector
Darüber hinaus Dropzone JS unterstützt auch directory-uploads als auch, und es funktioniert in Chrome, FF und Edge. Ich habe gerade umgestellt, um mit diesem in mein eigenes Projekt.
Dropzone JS
Diese Lösungen rekursiv Lesen Sie die Einträge im Telefonbuch und in der Liste alle Dateien einschließlich Ihrer relativen Pfade. Wenn Sie möchten, neu erstellen Sie die Ordnerstruktur beim hochladen müssen Sie implementieren, dass die Verwendung der relativen Pfade und die entsprechende Algorithmus.
Es scheint, dass Chrome und Firefox unterstützt, die Teil der Dateisystem-API, aber nicht oficially unterstützt.
Diese können Sie drop einen Ordner aus, und Lesen Sie alle Inhalte, hier der code, den ich auf meine app.
Wenn Sie in Ordnung mit nicht-standard Attributen die Sie verwenden können, die
webkitdirectory
Eigenschaft:Demo
Auf JS-Seite habe ich diese Methoden verwenden (von einem Lehrer, einer StackoverFlow - https://stackoverflow.com/a/47935286/11544097) in Schleife-Datei für alle Datei -, Ordner-Inhalte und Unterordner:
Benötigen Sie auch eine upload-Bibliothek oder schreiben Sie es von sich selbst zu senden, um die Datei in den server per ajax hochladen. Im code-Beispiel oben verwende ich formstone hochladen Bibliothek (https://formstone.it/components/upload/)
Auf server-Seite: Sie müssen zur Verarbeitung der Formular-Daten, die gesendet wurde, von der JS-Seite, al den meisten Fällen müssen Sie die Prozess-Datei, indem Sie Datei mit dem relativen Pfad beiliegenden info aus dem File-Objekt.
Noch eine Anmerkung, setzen Sie einfach "multiple" - Attribut bei der Datei-upload-Eingang, KEINE Notwendigkeit, eine 'webkitdirectory' oder 'Verzeichnis'. Sie verursacht die Benutzer können nicht wählen Sie die Datei (nur Ordner erlaubt)
Dem Ergebnis, das Sie haben mit dem Upload-system unterstützt alle Ordner und Dateien behalten Ihre Struktur wie Google Drive :).
Gibt es das tool ( https://freetoolonline.com/zip-file.html ), dass ich schrieb, dass unterstützt Ordner-upload basiert auf dem ideal, habe ich oben erläutert.
Leider nur webkit-basierte Browser unterstützt die Dateisystem-API an dieser Stelle.
Wenn Sie versuchen, drop einen Ordner in Google Drive mit firefox oder internet explorer, erhalten Sie eine Fehlermeldung, dass es nicht unterstützt wird.