upload上传文件 formData变成[object,object]

本文探讨了前端文件上传过程中遇到的问题,特别是使用formData时文件被错误地显示为[object Object]而非二进制形式的情况。分析了多种场景下的解决方案,包括单文件、多文件上传及特定框架下的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前端上传文件,浏览器里显示成file参数为[object object ]形式,而不是(binary)

原因分析:formData未能转化成 二进制对象,变成了普通对象。

1.element upload上传

vue-resource+element upload上传(遇到formData总是变为object格式) - 饭米雪 - 博客园https://www.cnblogs.com/fmixue/p/9968910.html

2.多文件上传

formData上传多文件错误请求显示[object]_奔跑的web的博客-CSDN博客** 使用formData进行post请求时候上传多个文件变为一个数组传递给后台的时候变为[object]问题**post 请求错误的成为了错误的原因是使用formData上传文件时候,传递多个文件变为数组就会出现这个问题,解决的方法具体如下做一个for循环把多个上传文件一个个传递就可以解决上述问题。...https://blog.csdn.net/weixin_47561793/article/details/112601719

多文件上传还可以参考数组上传方式,使用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 Vueicon-default.png?t=M0H8https://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[];
}

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值