如何为 POST 设置 MIME 类型 - axios 中的多部分/表单数据? [英] How to set MIME type for POST - multipart/form-data in axios?

查看:111
本文介绍了如何为 POST 设置 MIME 类型 - axios 中的多部分/表单数据?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要使用 MIME 发送 POST 请求 - multipart/form-data

I need to send POST request with MIME - multipart/form-data

这是我对 POST 标头的默认配置:axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';

This is my default configuration for POST headers: axios.defaults.headers.post['Content-Type'] = 'multipart/form-data';

我希望默认的 Content-Type 应该是 multipart/form-dat,但在 chrome devtools 中我看到 Content-Type: application/json

I expect that default Content-Type should be multipart/form-dat, but in chrome devtools I see Content-Type: application/json

推荐答案

你可以试试这个:

const data = new FormData();

data.append('action', 'ADD');
data.append('param', 0);
data.append('secondParam', 0);
data.append('file', new Blob(['test payload'], { type: 'text/csv' }));

axios.post('http://httpbin.org/post', data);

此代码使用 FormData API

另一种选择是使用 form-data 包:

Another option is using form-data package:

const axios = require('axios');
const FormData = require('form-data');

const form = new FormData();
// Second argument  can take Buffer or Stream (lazily read during the request) too.
// Third argument is filename if you want to simulate a file upload. Otherwise omit.
form.append('field', 'a,b,c', 'blah.csv');
axios.post('http://example.org/endpoint', form, {
  headers: form.getHeaders(),
}).then(result => {
  // Handle result…
  console.log(result.data);
});

这篇关于如何为 POST 设置 MIME 类型 - axios 中的多部分/表单数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆