欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

【土旦】 使用Vant 的Uploader 上传图片 重定义返回格式 使用FormData格式提交

程序员文章站 2022-09-04 14:18:42
背景 开发一个图片上传功能 需求要用vant中的Uploader , 发现 Uploader组件官方封装返回的数据是加密的,不适合我这个项目(需要上传到本地ftp服务器), 看了一下官方 issue 发现有人提问 官方有回复 加密数据转 formdata格式的操作, 复制过来发现不行,又搜索了一下度 ......

背景


 

开发一个图片上传功能 需求要用vant中的uploader ,

发现 uploader组件官方封装返回的数据是加密的,不适合我这个项目(需要上传到本地ftp服务器),

看了一下官方 issue 发现有人提问 官方有回复 加密数据转 formdata格式的操作,

复制过来发现不行,又搜索了一下度娘,终于解决问题,现在把坑记录一下

官方提供的格式转化(没起效。。。)

1 const formdata = new formdata();
2 formdata.append('file', file);

这是我项目里面实现的代码:axios(需要设置请求头)


 

  html代码

1 <div class="posting_uploader">
2       <div class="posting_uploader_item" v-for="(item,index) in posting_data.pathlist" :key="index">
3         <img :src="item" alt>
4         <van-icon name="close" @click="del_img(index)"/>
5       </div>
6       <van-uploader :after-read="onread" :accept="'image/*'" v-show="posting_data.pathlist.length<6">
7         <img src="./icon_addpic.png" alt class>
8       </van-uploader>
9     </div>

  


 

js 代码

 1 // 上传图片
 2 async onread(file) {
 3     let formdata = new window.formdata();
 4     formdata.append('file', file.file);
 5     try {
 6         let res = await util.ajax.post(url, formdata, {
 7             headers: {
 8                 "content-type": "multipart/form-data"
 9             }
10         });
11         console.log(res);
12         if (xxx) {
13            xxx
14         } else {
15            xxx
16         }
17     } catch (e) {
18         console.log(e);
19         this.$toast(`网络连接错误, 请稍后再试!`)
20     }
21 },

 

 实现效果

【土旦】 使用Vant 的Uploader 上传图片 重定义返回格式 使用FormData格式提交