pl: Frage zum Wiki-Artikel „Data-URL“

Beitrag lesen

problematische Seite

Was Du am Wiki machen könntest: Den Unterschied zwischen FileUpload und FileAPI und FormData herausarbeiten. FileAPI ist an input type file gebunden, aber die FileAPI hat formal mit dem Upload gar nichts zu tun. Über og. inputfeld ermöglicht die FileAPI den Zugriff auf lokale Dateien und deren Eigenschaften wie mtime, name und size.

FormData hingegen ist abstrakt gesehen nur ein Serializer für den Enctype multipart/form-data. Man kann FormData an ein Formular binden, muss aber nicht. Man kann FormDate Instanzen sogar aus einer XHR Response herstellen, das ermöglicht die fetchAPI. Über Letzteres kann man multimediale Inhalte ins DOM befördern vorausgesetzt man kann diesen Enctype serverseitig herstellen. Für Perl gibt es da eine Lib, inwieweit es das für PHP u.a. PLs gibt kann ich nicht beurteilen. Eine FormData Instanz transportiert neben der Binary (Blob//File) die Attribute name, Content-Type und filename. Letzeres bekommt einen Wert zugewiesen wenn ein Blob//File anhänglich ist. Was FormData Parts nicht kennen sind Attribute wie mtime und size.

FileUpload liegt vor, wenn in einem FormData Objekt das Attribut filename einen Wert bekommt. Mur in diesem Fall finden sich Einträge in PHP $_FILES. Alle anderen name/value wie gehabt in $_POST.

Ein FileUplad ist jedoch auch via PUT und von multipart/form-data abweichenden Enctypes (Content-Types) möglich.

Grundsätzlich meine ich mich zu erinnern, dass man eine Data-URL mit geeigneten Mitteln in einen Blob konvertieren und den dann bspw. als Blob an ein FormData Element anhängen kann. Und dann kann man das FormData per Ajax hochladen. Sowas in der Art müsste entweder bei Data URL oder File Upload zu lesen sein, andernfalls ist der Link nur verwirrend.

Das URL Objekt stellt Methoden die zwischen DataURL und BlobURL vermitteln können. Während ein DataURL ein Base64-String ist, referenziert ein BLobURL eine Binary deren genauen Speicherort nur der Browser kennt. BlobURLs sind also nur Referenzen auf Browserinterne Binaries.

Das wars in Kürze, ein eigenes Studium kann das natürlich nicht ersetzen. MFG