我可以使用邮递员成功上传文件。然后,我单击Postman中的代码按钮,然后选择javascript-> ajax。我复制了它生成的代码,并在浏览器中运行它,但是文件没有上传。我通常会得到“ 415不支持的媒体类型”。不幸的是,我无权访问服务器,因此无法调试它。
这是Postman生成的ajax代码:
var form = new FormData();
form.append("", "<path-to-jpeg-file>");
var settings = {
"async": true,
"crossDomain": true,
"url": "<api url>",
"method": "POST",
"headers": {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Bearer dP1K7UfZSko4vT3RyVH02...",
"cache-control": "no-cache",
"Postman-Token": "df6ef41a-e7f1-4fea-b215-70089ef476274"
},
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});
邮递员在做什么,而不是生成的ajax?在上面的代码中,我确认了正确jpeg的路径已传递到form.append()中。该网址在Postman和我的代码中都是正确的。服务器以“不支持的媒体类型”拒绝了我的请求,但允许邮递员的请求。