我正在尝试将文件和一些JSON数据一起发送到我的REST端点,使用axios库直接从JavaScript发出请求,如下所示的方法。
doAjaxPost() {
var formData = new FormData();
var file = document.querySelector('#file');
formData.append("file", file.files[0]);
formData.append("document", documentJson);
axios({
method: 'post',
url: 'http://192.168.1.69:8080/api/files',
data: formData,
})
.then(function (response) {
console.log(response);
})
.catch(function (response) {
console.log(response);
});
}
然而,问题在于当我在Chrome开发者工具中检查网络选项卡中的请求时,我发现对于
文档
没有Content-Type
字段,而对于文件
字段Content-Type
是application/pdf
(我正在发送一个PDF文件)。
在服务器上,文档的Content-Type
为text/plain;charset=us-ascii
。更新:
我通过Postman成功发送了一个正确的请求,将
document
作为.json
文件发送。尽管我发现这只在Linux/Mac上有效。
formData.append("file", file)
, 我已经加上去了,现在可以正常工作了 :) - ElectRocnic