Chunked Upload -- Große Dateien in kleinen Portionen hochladen

Große Dateien werden in kleine Stückchen zerteilt und per Ajax zum Server übertragen.

Dateiname Size /Bytes Bytes am Server

Über diese Anwendung/Demo

Gegenüber herkömmlichen Uploads ergeben sich mehrere Vorteile:

Serverseitig ist kein Parsen erforderlich
Jeder chunk wird via PUT gesendet, somit kann dieser UpStream serverseitig direkt aus dem Message-Body gelesen werden.
Performancegewinn
Jeder chunk ergibt einen eigenen HTTP-PUT-Request, wobei diese einzelnen Requests voneinander entkoppelt sind, d.h., nicht aufeinander warten müssen (Beispiel 3MB-Datei: herkömmlich 70 Sekunden, chunked 50 Sekunden).
Wiederaufname nach Unterbechung möglich
Der Upload-Status hat bekannte Parameter (Dateiname, Chunk-Nr, Chunk-Size, Bytes am Server usw.) und anhand dieser bekannten Größen ist jeder Chunk-Upload reproduzierbar.

Die Reproduzierbarkeit einzelner Chunk-Uploads setzt natürlich voraus, dass alle den Prozess begleitenden Parameter erfasst worden sind. Übertragen werden diese Informationen in einem Custom-Request-Header (x-param: prozent-kodiert). Das serverseitige Zusammensetzen der chunks erfolgt ebenfalls anhand der im Request-Header mitgesendeten Parameter.


Anbieter: nmq​rstx-18­@yahoo.de, die Seite verwendet funktionsbedingt einen Session-Cookie und ist Bestandteil meines nach modernen Aspekten in Perl entwickelten Frameworks.