Jetzt möchte ich das Tool erweitern, sodass auch komplette Ordner hochgeladen werden können.
Da ich die Struktur beibehalten möchte/muss, bin ich anstatt auf dataTransfer.files auf dataTransfer.items gewechselt. Hier bekomme ich auch den Pfad und kann mir rekursiv alle Dateien erarbeiten.
Wenn Du file.slice() brauchst muss Du einen geeigneten Blob haben.
Nun möchte ich aber weiterhin, dass die Dateien in kleine Häppchen zerlegt hochgeladen werden. Leider funktioniert hier das von mir verwendete file.slice(start, ende) nicht mehr.
Tja. Zurück zu dataTransfer.files ... Ich weiß nicht wie, aber möglicherweise kannst Du den Krempel, den dataTransfer.items liefert, dann bei dataTransfer.files einbauen. Das geht aber offenbar nur via Drag-Operation:
Note: The files property of DataTransfer objects can only be accessed from within the drop event. For all other events, the files property will be empty — because its underlying data store will be in a protected mode
Stellt sich die Frage nach dem Warum.
Es gibt nämlich tausend (Diese Zahl erweist sich bei kleinlicher Zählung vorhersehbar als stark untertrieben!) gute Gründe, einen Browser allenfalls für einen eher gelegentlichen Upload einzelner Dateien zu benutzen. Ein Grund ist das HTTP-Protokoll. Ein anderer, dass Webserver per se darauf ausgelegt sind, vielen Benutzern wenig Leistung (Rechenzeit, Speicher, ...) zu bieten, statt wenigen viel.
Für den Transfer ganzer Verzeichnisse gibt es andere und bessere sowie sicherere Tools, mit denen man das gestellte Ziel auch ganz einfach erreichen kann. Fangen wir für die „Mausschubser“ mit WinSCP an… Ich persönlich mag rsync oder sshfs. Das ganze Geraffel mit den Versuchen diverser Cloudianer, Dateitransfers mit einem Webrowser zu veranstalten, führte jedenfalls bei mir noch nie zu einem „positiven Nutzungserlebnis“. Und bei jedem, bei dem das so war, würde ich sagen, dass seine Ansprüche an Sicherheit, Performance und Bedienbarkeit mangels besseren Wissens äußerst niedrig liegen. Die Generation Smartphone...
Anders ausgedrückt: Ganze Horden von Millennials können in der grünen Brühe baden, die ich wegen sowas schon ausgekotzt habe.