我想上傳文件到WebApi,但我沒有收到文件。此外,我不知道如果該文件正在追加。此外上傳文件(FormData)到WebApi
if (this.state.file) {
var file = this.state.file;
if (window.FormData !== undefined) {
var data = new FormData();
data.append("file", file);
$.ajax({
type: "POST",
url: "/api/service/upload",
contentType: "text/csv",
processData: false,
data: data,
success: function (result) {
console.log(result);
},
error: function (xhr, status, p3, p4) {
var err = "Error " + " " + status + " " + p3 + " " + p4;
if (xhr.responseText && xhr.responseText[0] == "{")
err = JSON.parse(xhr.responseText).Message;
console.log(err);
}
});
}
}
,檢查我的請求負載的內容,我想這一點,而不是Ajax調用:我這樣做
var xhr = new XMLHttpRequest;
xhr.open('POST', '/', true);
xhr.setRequestHeader('Content-Type', 'text/csv');
xhr.send(data);
而且只出現:
------ WebKitFormBoundary6xZnDkSOxBAxaovA內容處理:form-data; NAME = 「文件」;文件名= 「Teste.csv」 內容類型: 應用程序/ vnd.ms - Excel中
------ WebKitFormBoundary6xZnDkSOxBAxaovA--
嘗試從ajax調用中去除'contentType'選項。而且,請驗證'this.state.file'是一個文件對象而不是文件對象的數組。 'console.log'。 – TipuZaynSultan
我得到這個(我猜是一個文件對象): File {name:「Teste.csv」,lastModified:1491903259490,lastModifiedDate:2017年4月11日上午10:34:19 GMT + 0100(GMT Daylight Time),webkitRelativePath: 「」,尺寸:32 ...} 上次更改 : lastModifiedDate : 星期二2017年4月11日10點34分19秒GMT + 0100(GMT夏令時間) 名 : 「Teste.csv」 大小 : 類型 : 「application/vnd.ms-excel」 webkitRelativePath : 「」 __proto__ : 文件 –
但是,我追加到FormData對象的文件後,該對象只有原型,是否正常?裏面不應該有一個File對象? –