必要なすべての要求ヘッダーが設定されたファイルを送信する作業中の XHR 要求。
var upload = function (file) {
var xhr = new XMLHttpRequest();
xhr.open('POST', '/Admin/Upload', true);
xhr.setRequestHeader('X-Filename', file.name);
xhr.setRequestHeader('pageid', pageid);
xhr.setRequestHeader('catid', catid);
xhr.send(file);
}
以下を機能させようとしています(jQuery 1.7.2を使用)
var xhr = new XMLHttpRequest();
var upload = function (file, xhr) {
$.ajax
({
url: '/Admin/Upload',
beforeSend: function (xhr) {
xhr.setRequestHeader('X-Filename', file.name);
xhr.setRequestHeader('pageid', pageid);
xhr.setRequestHeader('catid', catid);
},
data: file,
success: function (data) {
alert('Load was performed.');
}
});
}
更新: わかりました。少し進んで、リクエストが実際にアクション メソッドにヒットしましたが、入力ストリームにデータがなく、すべてのファイル キー配列が null であるため、実際のファイル データは通過していないようです。 . リクエストヘッダーは問題なく通過しています。(data: file) は xhr.send(file) とは異なりますか?
今これを使用して:
var upload = function (file)
{
$.ajax
({
url: "/Admin/Upload",
headers: { catid: catid, pageid: pageid },
processData: false,
data: file,
success: function (data) {
alert('Load was performed.');
}
});
}