我正在尝试使用XMLHttpRequest()上传文件,但是post请求返回500内部服务器错误。我确保文件参数是通过文件对象发送的,并且操作URL是正确的。我错过了什么吗?
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);
});
}
答案 0 :(得分:0)
500错误意味着请求到达目的地并且目的地出现问题。尝试检查目的地是否有错误。
答案 1 :(得分:-1)
也许你发错了请求?上次我遇到了同样的问题并且有一个解决方案: