明霞山资源网 Design By www.htccd.com
<van-uploader v-model="fileList" multiple :after-read="afterRead" :max-count="1" />
1:上传文件流,提交的模式 肯定得 form-data模式
2:上传的文件file 做出处理我这里做的只能选择一张
afterRead(file){
console.log(file); //控制台可以看见图片信息
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 拦截处理 因为上传模式必须是from-data 所以就要设置 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() 做出处理,因为是文件流,直接打印是看不出来的详情去看官网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" rel="external nofollow" +JSON.stringify(c);
}, 1500);
}else{
this.disabled = false;
this.$msg({
text:e.msg,
type:'info'
})
}
})
},
效果图
剩下的就交给后端处理就行了,到这里就完全可以了
以上就是vue+vant 上传图片需要注意的地方的详细内容,更多关于vue+vant 上传图片的资料请关注其它相关文章!
明霞山资源网 Design By www.htccd.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
明霞山资源网 Design By www.htccd.com
暂无评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。

