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实现下载文件流完整前后端代码
Nov 17 Vue.js
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
vue实现滚动鼠标滚轮切换页面
Dec 13 Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
Vue中引入svg图标的两种方式
Jan 14 Vue.js
vue使用过滤器格式化日期
Jan 20 Vue.js
WebStorm无法正确识别Vue3组合式API的解决方案
Feb 18 Vue.js
详解vue3中组件的非兼容变更
Mar 03 Vue.js
解决vue $http的get和post请求跨域问题
Jun 07 Vue.js
Vue实现tab导航栏并支持左右滑动功能
Jun 28 Vue.js
vue特效之翻牌动画
Apr 20 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
php 下载保存文件保存到本地的两种实现方法
2013/08/12 PHP
使用PHP把HTML生成PDF文件的几个开源项目介绍
2014/11/17 PHP
PHP内核探索:哈希表碰撞攻击原理
2015/07/31 PHP
PHP解密支付宝小程序的加密数据、手机号的示例代码
2021/02/26 PHP
window.open()弹出居中的窗口
2007/02/01 Javascript
javascript web页面刷新的方法收集
2009/07/02 Javascript
javascript document.execCommand() 常用解析
2009/12/14 Javascript
判断滚动条到底部的JS代码
2013/11/04 Javascript
Javascript 按位与运算符 (&amp;)使用介绍
2014/02/04 Javascript
AngularJS模块管理问题的非常规处理方法
2015/04/29 Javascript
jQuery的$.extend 浅拷贝与深拷贝
2017/03/08 Javascript
js遍历添加栏目类添加css 再点击其它删除css【推荐】
2018/06/12 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
Vue 中对图片地址进行拼接的方法
2018/09/03 Javascript
30分钟快速实现小程序语音识别功能
2018/11/27 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
vue使用websocket的方法实例分析
2019/06/22 Javascript
layui-select动态选中值的例子
2019/09/23 Javascript
JS数组进阶示例【数组的几种函数用法】
2020/01/16 Javascript
[27:28]Ti4 冒泡赛第二天 iG vs NEWBEE 1
2014/07/15 DOTA
Python中http请求方法库汇总
2016/01/06 Python
对Python subprocess.Popen子进程管道阻塞详解
2018/10/29 Python
Django中celery执行任务结果的保存方法
2019/07/12 Python
python递归法实现简易连连看小游戏
2020/03/25 Python
Tensorflow轻松实现XOR运算的方式
2020/02/03 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
详解pyinstaller生成exe的闪退问题解决方案
2020/06/19 Python
python的链表基础知识点
2020/09/13 Python
Python私有属性私有方法应用实例解析
2020/09/15 Python
Python列表的深复制和浅复制示例详解
2021/02/12 Python
最新的小工具和卓越的产品设计:Oh That Tech!
2019/08/07 全球购物
幼儿园家长评语
2014/02/10 职场文书
艺术节主持词
2014/04/02 职场文书
关于运动会的广播稿
2014/09/22 职场文书
廉政承诺书
2015/01/19 职场文书
心术观后感
2015/06/11 职场文书