使用axios在POST multipart / form-data请求中发送文件和json

帕夫里

我正在尝试在同一多部分POST请求中将文件和一些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现场document,而file现场Content-Typeapplication/pdf(我将送一个PDF文件)。

网络检查器中显示的请求

在服务器Content-Typedocumenttext/plain;charset=us-ascii

更新:

我设法通过邮递员document.json文件形式发送了正确的请求尽管我发现这仅适用于Linux / Mac。

昆汀

要设置内容类型,您需要传递类似文件的对象。您可以使用创建一个Blob

const obj = {
  hello: "world"
};
const json = JSON.stringify(obj);
const blob = new Blob([json], {
  type: 'application/json'
});
const data = new FormData();
data.append("document", blob);
axios({
  method: 'post',
  url: '/sample',
  data: data,
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用multipart / form-data在Reactjs Dropzone中发送文件

放心 - 使用静态 JSON 负载和要上传的文件发送 POST 请求(内容类型:multipart/form-data)

使用Axios复制Node JS中的Python multipart / form-data Post

将接收到的文件发送到 axios multipart/form-data 请求

如何使用multipart / form-data发送请求?

如何使用 Lua 通过 multipart/form-data 发送文件?

为什么即使我的表单中具有enctype =“ multipart / form-data”,也无法在POST变量中发送文件?

使用 POST 请求发送 multipart/form-data 字符串,python

调整 multipart/form-data 请求以在同一请求中使用图像和 json 卷曲

如何处理需要在Spring Boot中发送JSON和multipart / form-data的情况

使用Content-Type multipart / form-data的POST数据

使用multipart / form-data和JSON进行卷曲发布

在带有SuiteScript 2.0的NetSuite中,无法通过内容类型为multipart / form-data的HTTP POST请求发送文件

Python POST multipart / form-data请求与Postman不同的行为

使用multipart / form-data标头使用vuejs,laravel,axios上载文件导致401

如何发送POST请求的multipart / form-data字段作为数组进行单元测试?

axios post 请求正在发送 Content-Type: multipart/form-data 的请求头,导致未定义的 req.body

python请求-HTTP请求中没有文件名的POST Multipart / form-data

如何使用Spring RestTemplate发送multipart / form-data?

multipart / form-data可以使用javascript发送吗?

如何使用AngularJS $ http发送multipart / form-data

使用Java创建HTTP multipart / form-data请求

对Python的cURL请求(使用multipart / form-data)

使用带有请求的multipart / form-data的POST的python设置边界

使用 multipart/form-data 查询 HTTP POST 请求的 Azure http-trigger 函数

使用Feign上传文件-multipart / form-data

如何使用HTTP POST multipart / form-data将文件上传到服务器?

使用RestSharp在multipart / form-data POST中包含文件的问题

Python request.post multipart / form-data