Hochladen von Dateien, die per AJAX ohne FormData (IE9)

In IE9 FormData wird nicht unterstützt, das macht das hochladen von Dateien mit XMLHttpRequest viel weniger trivial.

Kann das getan werden? Ich habe gesehen, iFrames erwähnt, und während ich bin nicht abgeneigt, zu schreiben, einige haarige code, ich bin an einem Verlust, wie Sie zu erreichen ist (es gibt viele Ressourcen, reden, hochladen auf einen iFrame, aber nicht darüber, wie man die Datei aus dem iFrame auf den server).

Mit Vanille JavaScript (keine Bibliotheken von Drittanbietern), wie würde man das hochladen einer Datei asynchron, ohne die Verwendung von FormData?

  • Die Idee ist, dass Sie post in Ihrem-server über einen iframe. Es ist wirklich kein AJAX beteiligt. Sie kann es so Aussehen, AJAX-like, indem Sie Sie ausblenden, iframe und der Rückkehr einige Infos zu den client über den iframe, wenn die Datei-upload abgeschlossen ist (z.B. der name der Datei und Erfolg-oder-Misserfolg Informationen).
  • da es ohne FileReader (caniuse.com/#feat=filereader), IE9, müssen Sie ein Formular zum senden von Dateien an einen server. der iframe ist nicht erforderlich, aber Sie können fangen die server-Antwort und besser Aussehen, wenn Sie Ihre upload-Antwort ist nicht eine funktionale html-Seite.
  • Könnte als ein Duplikat von stackoverflow.com/questions/7909161/jquery-iframe-file-upload . Mindestens die Antwort ist alles dabei.
InformationsquelleAutor Qix | 2014-11-19
Schreibe einen Kommentar