参考链接:
axios 上传file文件遇到的坑, no multipart boundary was found
axios 封装使用、拦截特定请求、判断所有请求是否加载完毕
前端请求方法中
const formData = new FormData()
formData.append('role', 1)
formData.append('excelFile', fileObj)
const config = {
headers: {
'Content-Type': 'multipart/form-data'
}
}
const { data: res } = await this.$http.post('admin/user/add', formData, config)
需要设置请求头的 Content-Type 为 multipart/form-data (我解决问题查的有很多文章说不需要设置,我试过了没用,不设置就是自动添加默认的类型,而不是我们要的 FormData)
注意:不要序列化 formData ,post请求需要序列化(通常用qs.stringify()),但用post请求传 FormData 不需要
如果序列化了 formData ,后端接收的参数就会为null(这个问题弄了我半天,才发现是序列化的问题)
附赠:判断axios请求数据是否为formData类型还是普通Object
后端接收参数
@PostMapping("/admin/user/add")
@ResponseBody
public Map<String, Object> addUserByExcel(@ModelAttribute UserExcelVO userExcelVO) throws Exception {
}
后端用 java对象 接收参数
注意:跨域问题