前端上传文件,浏览器里显示成file参数为[object object ]形式,而不是(binary)
原因分析:formData未能转化成 二进制对象,变成了普通对象。
1.element upload上传
2.多文件上传
多文件上传还可以参考数组上传方式,使用JSON.stringify()处理
3.请求协议错误
let formData = new FormData();
formData.append("fileType",1);//后端接口参数
formData.append("file",file);//后端接口参数
//formData.append("file",JSON.stringify(file));
axios({
method: 'post',
url: 'http://localhost:8080/upload',
headers: {
'Content-Type': 'multipart/form-data'
},
data:formData
})
4.postman成功,代码上传失败
解决:JSON.stringify() JSON.parse() 使用 JSON转换
5.antd vue3 文件上传
Ant Design Vuehttps://2x.antdv.com/components/upload-cn/#Upload-在vue3,ts项目中,使用antd UI库遇到此问题。
原因:未完全按照示例代码编写,漏写文件类型,导致不能转化二进制对象binary
interface FileItem {
uid: string;
name?: string;
status?: string;
response?: string;
url?: string;
}
interface FileInfo {
file: FileItem;
fileList: FileItem[];
}