-1
我想使用XMLHttpRequest()上傳文件,但發佈請求返回500內部服務器錯誤。我已經確定文件參數是通過文件對象發送的,並且操作URL是正確的。我錯過了什麼嗎?XMLHttpRequest文件上傳返回500錯誤
HTML:
<input type="file" class="form-control" name="documents" (change)="onFileUploadChange($event)">
組件:
onFileUploadChange(_event: any) {
let file = _event.srcElement.files;
let postData: any = null;
this._fileUploadService.uploadFile(this.uploadURL, file);
}
服務:
uploadFile(_url:string,_file:File):Promise<any> {
return new Promise((resolve, reject) => {
var xhr:XMLHttpRequest = new XMLHttpRequest();
console.log(_file);
console.log(_file[0].name);
xhr.onreadystatechange =() => {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
// ...
} else if (xhr.status === 500) {
// ...
}
else {
// ...
}
}
};
var formData = new FormData();
formData.append('file', _file[0], _file[0].name);
xhr.open('POST', _url, true);
xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
xhr.setRequestHeader('Content-Type','multipart/form-data');
xhr.send(formData);
});
}
你有一個內部服務器錯誤。調試您的服務器端代碼以找出問題所在。如果請求有問題,那會告訴你什麼。 – Quentin
解決。這是一個服務器錯誤。 – skyscript