vue+vant 上傳圖片需要注意的地方
<van-uploader v-model="fileList" multiple :after-read="afterRead" :max-count="1" />
1:上傳文件流,提交的模式 肯定得 form-data模式
2:上傳的文件file 做出處理我這里做的只能選擇一張
afterRead(file){ console.log(file); //控制臺(tái)可以看見(jiàn)圖片信息 if(this.fileList.length > 1){ this.fileList.splice(1); this.$msg({ text:'只能選擇這么多!', type:'info' }) return false; } let Files = this.Files; Files.push(file.file); },
3:vue 里面axios 攔截處理 因?yàn)樯蟼髂J奖仨毷莊rom-data 所以就要設(shè)置 config.headers['Content-Type'] = 'multipart/form-data';
//http request 攔截器 axios.interceptors.request.use((config) => { if (config.method === 'post') { if( config.data && !config.data.i ){ config.headers['Content-Type'] = 'multipart/form-data'; }else{ config.data = Qs.stringify(config.data); } // if ( config.data ){ // if ( config.data.i === undefined ){ // config.headers['Content-Type'] = 'multipart/form-data'; // }else{ // config.data = Qs.stringify(config.data); // } // } } return config; }, (error) => { return Promise.reject(error); })
4:就是上次圖片前端做的處理需要用到 new FormData() 做出處理,因?yàn)槭俏募鳎苯哟蛴∈强床怀鰜?lái)的詳情去看官網(wǎng)new FormData()。
WineOrder(){ console.log(this.Files) this.disabled = true; const data = new FormData(); const USER = JSON.parse(sessionStorage.getItem('USER')); data.append('i',USER.uniacid); data.append('token',USER.token); data.append('bid',USER.bid); data.append('roomid',this.roomid); data.append('booker',this.dingName); data.append('guestname',this.userName); data.append('type',this.type); data.append('tel',this.phone); data.append('endtime',this.date); data.append('file',this.Files[0]); data.append('goodsinfo',JSON.stringify(this.savewineList)); WineOrder(data).then((e)=>{ if( e.code == 0 ){ this.disabled = false; e.totalmoney = ''; var c ={ Topic:"", data:e, type:'Savewine' } return; setTimeout(() => { window.location.href="setterOrder?c=" rel="external nofollow" +JSON.stringify(c); }, 1500); }else{ this.disabled = false; this.$msg({ text:e.msg, type:'info' }) } }) },
效果圖
剩下的就交給后端處理就行了,到這里就完全可以了
以上就是vue+vant 上傳圖片需要注意的地方的詳細(xì)內(nèi)容,更多關(guān)于vue+vant 上傳圖片的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue mintui-Loadmore結(jié)合實(shí)現(xiàn)下拉刷新和上拉加載示例
本篇文章主要介紹了vue mintui-Loadmore結(jié)合實(shí)現(xiàn)下拉刷新和上拉加載示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10詳談Object.defineProperty 及實(shí)現(xiàn)數(shù)據(jù)雙向綁定
這篇文章主要介紹了詳談Object.defineProperty 及實(shí)現(xiàn)數(shù)據(jù)雙向綁定,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Vue移動(dòng)端實(shí)現(xiàn)調(diào)用相機(jī)掃描二維碼或條形碼的全過(guò)程
最近在使用vue開(kāi)發(fā)的h5移動(dòng)端想要實(shí)現(xiàn)一個(gè)調(diào)用攝像頭掃描二維碼的功能,所以下面這篇文章主要給大家介紹了關(guān)于Vue移動(dòng)端實(shí)現(xiàn)調(diào)用相機(jī)掃描二維碼或條形碼的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08使用v-memo緩存模板子樹(shù)提高應(yīng)用性能詳解
這篇文章主要為大家介紹了使用v-memo緩存模板子樹(shù)提高應(yīng)用性能詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09詳解vue axios用post提交的數(shù)據(jù)格式
這篇文章主要介紹了詳解vue axios用post提交的數(shù)據(jù)格式,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-08-08Vue?Hook?封裝通用型表格的詳細(xì)過(guò)程
這篇文章主要介紹了Vue?Hook?封裝通用型表格,設(shè)計(jì)通用型表格組件首先,需要設(shè)計(jì)一個(gè)基礎(chǔ)的表格組件,它接受列配置、數(shù)據(jù)和分頁(yè)信息等參數(shù),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2024-08-08