vue+vant 上傳圖片需要注意的地方
更新時(shí)間:2021年01月03日 10:58:41 作者:Myzhuo
這篇文章主要介紹了vue+vant 上傳圖片需要注意的地方,幫助大家更好的理解和使用vue,感興趣的朋友可以了解下
<van-uploader v-model="fileList" multiple :after-read="afterRead" :max-count="1" />
1:上傳文件流,提交的模式 肯定得 form-data模式

2:上傳的文件file 做出處理我這里做的只能選擇一張
afterRead(file){
console.log(file); //控制臺(tái)可以看見圖片信息
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)槭俏募?,直接打印是看不出來的詳情去看官網(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ì)大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Vue移動(dòng)端實(shí)現(xiàn)調(diào)用相機(jī)掃描二維碼或條形碼的全過程
最近在使用vue開發(fā)的h5移動(dòng)端想要實(shí)現(xiàn)一個(gè)調(diào)用攝像頭掃描二維碼的功能,所以下面這篇文章主要給大家介紹了關(guān)于Vue移動(dòng)端實(shí)現(xiàn)調(diào)用相機(jī)掃描二維碼或條形碼的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08
詳解vue axios用post提交的數(shù)據(jù)格式
這篇文章主要介紹了詳解vue axios用post提交的數(shù)據(jù)格式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08

