在用"application/json"传POST的请求data时,会有一个大括号包着
但是如果是上传文件时,需要将字段分开,不要大括号,采用"multipart/form-data"方式
那么需要对接口进行一些参数格式转换:
import request from '@/request/request'
function toFormData(o) {
const formData = new FormData();
for (let [key, value] of Object.entries(o)) {
if (value !== undefined) {
if (value == null) {
value = "";
}
formData.append(key, value);
continue;
}
}
return formData;
}
// 新增反馈信息
export const add_feedback = (data) => {
return request({
headers: {
"content-type": "multipart/form-data",
},
url: '/feedback/add',
method: 'post',
data: toFormData(data),
})
}
最终请求格式:

这篇博客介绍了在发送POST请求时,如何将数据从JSON格式转换为`multipart/form-data`格式,以适应文件上传场景。文章通过示例代码展示了如何创建FormData对象并填充数据,最后展示了一个使用axios库发送转换后数据的请求实例。

369

被折叠的 条评论
为什么被折叠?



