hotti: xmlhttprequest file upload aus string

Beitrag lesen

Du erstellst aus dem String einen Blob

  
var myblob = new Blob(['asdf']);  

Du meinst, ich füge dem <form>-Element das Attribut "enctype" mit dem Wert "multipart/form-data" hinzu? <form method="POST" enctype="multipart/form-data" action="...">

Nein, brauchst Du nicht. Du hast ja ein FormData-Objekt, wenn Du das sendest (POST) ist der enctype automatisch multipart/form-data

Letzteres fügt, weil Du einen Blob übergibtst,

Wie "übergebe" ich diesen ominösen Blob? Was genau tue ich im DOM?

  
var form_data = new FormData();  
form_data.append('myblob_filename', myblob);  
xhr.params = form_data;  
// und dann den POST Request  

automatisch den Parameter filename in den Header der Multipart-Komponente,

Mit welchem Wert?

Guck dir bitte an, wie eine multipart-message aussieht. Sie besteht aus mehreren Komponenten und jede dieser Komponenten hat einen Header, z.B.:

-----------------------------239462978514022
Content-Disposition: form-data; name="myblob_filename"; filename="blob"

name ist das was Du in form_data.append('myblob_filename', myblob) angibst, myblob ist der blob.

Klingt nach Magie so wie Du das beschreibst - Heilsversprechen ohne echte Zutaten.

Du kannst das alles auf MDN selbst nachlesen, versprochen wird da garnix, da wird nur beschrieben wie das funktioniert.

Wenn Du das nachvollziehen willst, einfach mal machen ;)