![](/img/trans.png)
[英]Multipart form parse error - Invalid boundary in multipart: None content-type issue?
[英]AJAX error: "No multipart boundary param in Content-Type"
我正在尝试将文件从本地主机上传到服务器,但在我的网络控制台中出现以下错误,状态代码为 500:
Content-Type 中没有多部分边界参数
我在我的 nginx 反向代理上启用了cors
。 我的 AJAX 请求是这样的:
var files = document.getElementById('candidatePhoto').files;
if (!files.length) {
return alert('Please choose a file to upload first.');
}
var file = files[0];
var form = new FormData();
form.append("files", file);
var settings = {
"async": true,
"crossDomain": true,
"url": "http://example.com",
"method": "POST",
"headers": {
"Content-Type": "multipart/form-data"
},
"processData": false,
"contentType": false,
"data": form,
success: function(data) {
console.log("Success", data);
addPhoto(data);
},
error: function(err) {
console.log("Error", err);
alert("Error: " + err);
}
}
我的 HTML 表单也有enctype='multipart/form-data'
如果您设置contentType: false
jQuery 将自动应用正确的 Content-Type 标头来发送多部分数据。 您包含明确指定内容类型的header
对象正在破坏这种行为。 它需要被移除。 将您的 AJAX 请求设置更改为:
var settings = {
async: true,
crossDomain: true,
url: "http://example.com",
method: "POST",
processData: false,
contentType: false,
data: form,
success: function(data){
console.log("Success", data);
addPhoto(data);
},
error: function(err) {
console.log("Error", err);
alert("Error: " + err);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.