Ich denke aber nicht, dass hier ein Blob nötig ist.
Doch, genau das ist. Wenn nämlich nicht, hast Du #3 heißt: Kein Upload, weil Parameter filename gar nicht gestzt wird.
Ich rede davon, entweder #1 zu verwenden (File-Objekt übergeben) oder besser gar nicht manuell append() aufzurufen.
oli69 hat bereits ein <input type="file">. Siehe Ausgangsposting. Es muss einfach das ganze Formular abgeschickt werden. Das geht ohne append, einfach mit new FormData(form).
Beispiel: http://codepen.io/molily/pen/vACKq?editors=101
Das Formular wird mit JavaScript genauso abgesendet wie ohne JavaScript, der Request ist der gleiche. (Getestet in Chrome.)
Das ist doch viel einfacher, als das
File
des <input type="file"> zu lesen, den Inhalt mit einemFileReader
zu lesen, in einenBlob
zu verpacken und an dasFormData
zu hängen.Mathias
Könnte ich hierzu mal ein kurzes Beispiel bekommen? Z.B. mit String:
var daten = '0.5~0.5~10~'; stark gekürzt, sieht im Original aber so aus.
???????
<form action='http://10.1.10.80' method='post' enctype='multipart/form-data' onsubmit='display()'>
<input type='hidden' name='device' value='627724'>
<input type='hidden' name='status' value='0'>
File <input type='file' name='file'>
<input type='submit' value='Import job'>
</form>
Ich würde dann gerne das File-Feld ebenfalls hidden machen und bei onsubmit eine Funktion aufrufen die den String einfügt und absendet und danach die Funktion display() aufruft. Aber irgendwie stehe ich im Moment auf dem Schlauch....
Gruss Oliver