2017-01-23 2 views
0

これは既に他の場所で回答されていますが、FormDataオブジェクトを使用してファイルをアップロードする際に非常に具体的な問題があるようです。XHRを使用してFormdataを送信する

HTMLフォーム:

JSコールバック
<form id="file-form" method="post"> 
    <input type="file" id="file-input" multiple onchange="HandleFileInput(event); return false;"/> 
</form> 

HandleFileInput(event) { 
    var fd = new FormData(); 
    var fileList = document.getElementById('file-input').files; 
    for (let i = 0; i < fileList.length; i++) { 
     fd.append(fileList[i].name, fileList[i]); 
    } 
} 

デバッガ私は、Filelistを参照してくださいすることができますを使用しては確かにファイルエントリ(複数)で満たされている、と私は個別にアクセスすることができますファイルをコンソールで索引付けします。しかし、FormDataオブジェクトにファイルを追加することはできないようです。 forループの後、fdオブジェクトはまだ空です。助けて?

+0

:私は、FDオブジェクトのvalues()機能を使って、これを確認しました。データを送信するだけです。それはうまくいくはずです。 – Quentin

+0

ファイルが 'FormData'オブジェクトに追加されないと思いますか? – gus27

+0

助けてくれてありがとう、実際にはすべてが意図したとおりにオブジェクトに追加されています。 – TeaMonkie

答えて

0

これは、fdオブジェクトに意図したものがすべて追加されているようです。これはほぼ確実にあなたが内容を表示しようとしているかの加工品である - 「forループFDオブジェクトがまだ空になった後、」

for (var value of fd.values()) { 
    console.log(value) 
} 
関連する問題