2017-01-08 10 views
0
私は HTTP POST要求を使用してファイルを送信したい

経由でファイルを送信する、問題は、私はそれを行うことができないということです - postfiles配列はサーバーサイドでの空です:は、Ajax

<input type="file" id="file"/> 

let data = document.getElementById('file').files[0]; 
let xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("POST", 'http://someurl.com/something', true); 
xmlhttp.setRequestHeader("Content-Type", "multipart/form-data"); 
xmlhttp.send(data); 

なぜということですので、 ?ファイルが存在し、データ変数が正しい。要求が正しく送信されています。どうしましたか?

答えて

1

ファイルを送信するためにFormDataオブジェクトを使用します。

var formData = new FormData(); 
formData.append("file", data); // data is your file 
xmlhttp.send(formData);