我試圖上傳文件並通過api作爲文件發送,但沒有正常工作。這裏是我用於上傳併發送我的文件到API。 但它最有可能是錯誤信息。在javascript中上傳文件並通過api發送文件
$(document).on('change', '#txtUploadFile', function(e){
var files = e.target.files;
if (files.length > 0) {
if (this.value.lastIndexOf('.xlsx') === -1){
alert('Only ods files are allowed!');
this.value = '';
return;
}
if (window.FormData !== undefined) {
var data = new FormData();
for (var x = 0; x < files.length; x++){
data.append("file" + x, files[x]);
}
$.ajax({
type: "POST",
contentType: "multipart/form-data",
url: 'http://localhost/clicportaltest/rest/clicadmin/uploadExcel',
data:{file:file},
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);
}
});
} else {
alert("This browser doesn't support HTML5 file uploads!");
}
}
});
你得到的錯誤信息是什麼? – Sventies
您如何期望將您的文件編碼爲JSON?或者說,服務器期望文件的格式是什麼? – Quentin
您曾經說過您要發送JSON,而不是說您要發送多部分表單數據(其餘代碼沒有這樣做)。代碼不會編譯(它看起來像你改變了你的想法,使變量名稱複數中途)。你一直在編輯代碼,但是你還沒有告訴我們你發佈數據的HTTP端點以什麼格式期待數據進入。 – Quentin