vue+vant 上传图片需要注意的地方


Posted in Vue.js onJanuary 03, 2021
<van-uploader v-model="fileList" multiple :after-read="afterRead" :max-count="1" />

1:上传文件流,提交的模式 肯定得 form-data模式

vue+vant 上传图片需要注意的地方

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?c=" rel="external nofollow" +JSON.stringify(c);
          }, 1500);
        }else{
           this.disabled = false;
           this.$msg({
            text:e.msg,
            type:'info'
          })
        }
      })
    },

效果图

vue+vant 上传图片需要注意的地方

剩下的就交给后端处理就行了,到这里就完全可以了

以上就是vue+vant 上传图片需要注意的地方的详细内容,更多关于vue+vant 上传图片的资料请关注三水点靠木其它相关文章!

Vue.js 相关文章推荐
Vue在H5 项目中使用融云进行实时个人单聊通讯
Dec 14 Vue.js
全面解析Vue中的$nextTick
Dec 24 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
利用Vue实现简易播放器的完整代码
Dec 30 Vue.js
Vue中强制组件重新渲染的正确方法
Jan 03 Vue.js
vue实现防抖的实例代码
Jan 11 Vue.js
如何管理Vue中的缓存页面
Feb 06 Vue.js
vue3.0 项目搭建和使用流程
Mar 04 Vue.js
如何用vue实现网页截图你知道吗
Nov 17 Vue.js
vue项目打包后路由错误的解决方法
Apr 13 Vue.js
vue.js 使用原生js实现轮播图
Apr 26 Vue.js
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 #Vue.js
vue中使用echarts的示例
Jan 03 #Vue.js
vue 动态生成拓扑图的示例
Jan 03 #Vue.js
Vue中强制组件重新渲染的正确方法
Jan 03 #Vue.js
vue中activated的用法
Jan 03 #Vue.js
vue实现登录功能
Dec 31 #Vue.js
vue 实现图片懒加载功能
Dec 31 #Vue.js
You might like
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
thinkPHP2.1自定义标签库的导入方法详解
2016/07/20 PHP
PHP封装函数实现生成随机的字符串验证码
2017/01/24 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
javascript小数计算出现近似值的解决办法
2010/02/06 Javascript
jquery CSS选择器笔记
2010/03/29 Javascript
javascript开发随笔二 动态加载js和文件
2011/11/25 Javascript
js拦截alert对话框另类应用
2013/01/16 Javascript
jQuery实现自动调整字体大小的方法
2015/06/15 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
JS+CSS实现的蓝色table选项卡效果
2015/10/08 Javascript
php基于redis处理session的方法
2016/03/14 Javascript
JS工作中的小贴士之”闭包“与事件委托的”阻止冒泡“
2016/06/16 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(同步显示图像位置信息)
2016/12/02 Javascript
Ajax和Comet技术总结
2017/02/19 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
webpack4.0 入门实践教程
2018/10/08 Javascript
vue+canvas实现炫酷时钟效果的倒计时插件(已发布到npm的vue2插件,开箱即用)
2018/11/05 Javascript
JavaScript使用canvas绘制随机验证码
2020/02/17 Javascript
[17:45]DOTA2 HEROES教学视频教你分分钟做大人-军团指挥官
2014/06/11 DOTA
Python中的异常处理学习笔记
2015/01/28 Python
python下MySQLdb用法实例分析
2015/06/08 Python
浅谈插入排序算法在Python程序中的实现及简单改进
2016/05/04 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
python使用sklearn实现决策树的方法示例
2019/09/12 Python
Python二元赋值实用技巧解析
2019/10/25 Python
使用pandas实现连续数据的离散化处理方式(分箱操作)
2019/11/22 Python
Harrods美国:英国最大的百货公司
2018/11/04 全球购物
马来西亚最热门的在线时尚商店:FashionValet
2018/11/11 全球购物
allbeauty美国:英国在线美容店
2019/03/11 全球购物
编码转换,怎样实现将GB2312编码的字符串转换为ISO-8859-1编码的字符串
2014/01/07 面试题
财务会计自荐信范文
2014/02/21 职场文书
物业总经理助理岗位职责
2014/06/29 职场文书
甲午大海战观后感
2015/06/02 职场文书
暖春观后感
2015/06/08 职场文书
《清澈的湖水》教学反思
2016/02/17 职场文书