/* If you want to upload only a file along with arbitary data that
is not in the form, use this */
var fd = new FormData();
fd.append("file", document.getElementById('file').files[0]);
/* If you want to simply post the entire form, use this */
//var fd = document.getElementById('form1').getFormData();
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener("progress", uploadProgress, false);
xhr.addEventListener("load", uploadComplete, false);
xhr.addEventListener("error", uploadFailed, false);
xhr.addEventListener("abort", uploadCanceled, false);
xhr.open("POST", "Upload.php");
xhr.send(fd);
、(jqueryの$.post
が何らかの理由でHTML5で動作しないようです)このプレーンJSのAJAXアップロードコードに出くわした。しかし、私はここでは二つの問題、
- オブジェクトの後ろのこの行はどういう意味ですか
FormData
?
fd.append("file", document.getElementById('file').files[0]);
は、なぜ私はそこにIDが必要なのでしょうか? jquery append()
と$('input[type=file]')
を使用して何かできますか?
- このajaxは1つのファイルのアップロード用ですが、複数のファイルをアップロードするためにどのように変更できますか?
など、それはフィールド名
file0
することにより、サーバ側で利用可能になるでしょうfile1
:あなたはFile[]
を持っていると仮定すると、ここでは一例です!私はこれについて尋ねることができます - 'files.length''ファイルはどこから来ますか?この 'for()'の前に何を設定すべきですか? 'files.length'を行うことができますか?ありがとう! – laukokあなたの 'for()'の答えを使用すると 'ファイルが定義されていません 'というエラーが表示されます... – laukok
ええと、ユーザーが複数のファイルを指定した場所から取得するだけですか? – BalusC