在此示例中(客户端):
axios({
url: "/public-resolutions/decision-files/",
method: "post",
processData: false,
data: formData,
headers: {
"Content-Type": "multipart/form-data; charset=UTF-8",
},
});
当I console.log
config
在axios请求拦截器内部时(例如:axios.interceptors.request.use(function (config)....
),* 我看不到Content-Type头 *。但是如果我用空对象替换data
,如下所示:
axios({
url: "/public-resolutions/decision-files/",
method: "post",
processData: false,
data: {}, // ---> change this
headers: {
"Content-Type": "multipart/form-data; charset=UTF-8",
},
});
然后设置标头。有人知道这种行为吗?
PS.我之所以考虑设置这个头是因为服务器正在接收latin 1编码的 file name,这在某些情况下会破坏应用程序。所以我想设置UTF-8编码。
axios版本:0.27.2
这是表单数据:
const formData = new FormData();
formData.append("excel", excel);
for (let i = 0; i < pdfs.length; i++) {
formData.append("pdfs", pdfs[i]);
}
1条答案
按热度按时间8zzbczxx1#
看起来您的FormData不正确。您应为FormData指定唯一的名称,或者可以将数组传递给FormData(如果需要)。
所以,不要使用以下代码:
请尝试以下代码:
或者如果你想用不同的名字发送每个
pdfs
。你也可以这样做。