-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