antd vue表单上传文件_vue+axios+antD的上传图片踩坑

本文介绍了在Vue项目中使用AntD组件上传图片时遇到的问题,包括formData为空、后台接收不到图片等问题。通过引入axios并创建实例,以及将Base64编码转换为File对象的方法,最终成功实现文件上传。
摘要由CSDN通过智能技术生成

一开始使用了实验室大佬封装的axios结合formData进行图片上传,然而传递给后台的formData是空的,打印出来的form又确实是存在的,百度搜了一大推,于是借鉴了百度的做法。

1.引入axios   import axios from ‘axios‘;

2.创建一个新的axios,

const instance = axios.create({

withCredentials:true  //表示跨域请求时是否需要使用凭证,默认为false

})

instance.post(‘url‘,formData).then(res=>{

})

.catch(err=>{

console.log(err)

})

这时可以看到formData出来了,有点小开心,于是马上试了下上传图片,但是后台还是没有收到图片,传递的image值如下

然后跟后台的一番讨论才知道我传的是图片的base64编码,后台需要接收的是file文件对象,于是又百度一下,将base64转换成file形式.

完整代码如下

addPhoto(){

let self= thisconst form= newFormData()

self.fileList.forEach((file)=> { //fileList 是要上传的文件数组

self.imageUrl = file.url

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值