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自定义插件封装,实现简易的elementUi的Message和MessageBox的示例
Nov 20 Vue.js
在Vue中使用mockjs代码实例
Nov 25 Vue.js
vue+element实现动态加载表单
Dec 13 Vue.js
vue3自定义dialog、modal组件的方法
Jan 04 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
vue实现验证用户名是否可用
Jan 20 Vue.js
Vue SPA 首屏优化方案
Feb 26 Vue.js
vue完美实现el-table列宽自适应
May 08 Vue.js
HTML+VUE分页实现炫酷物联网大屏功能
May 27 Vue.js
Vue的过滤器你真了解吗
Feb 24 Vue.js
Vue.js中v-for指令的用法介绍
Mar 13 Vue.js
vue项目配置sass及引入外部scss文件
Apr 14 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
文件上传类
2006/10/09 PHP
一个MYSQL操作类
2006/11/16 PHP
Windows下利用Gvim写PHP产生中文乱码问题解决方法
2011/04/20 PHP
php中jQuery插件autocomplate的简单使用笔记
2012/06/14 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
php检测文件编码的方法示例
2014/04/25 PHP
如何写php守护进程(Daemon)
2015/12/30 PHP
Laravel学习教程之model validation的使用示例
2017/10/23 PHP
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
半个小时学json(json传递示例)
2016/12/25 Javascript
从零开始学习Node.js系列教程二:文本提交与显示方法
2017/04/13 Javascript
JS设计模式之状态模式概念与用法分析
2018/02/05 Javascript
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
python字符串连接的N种方式总结
2014/09/17 Python
Python fileinput模块使用介绍
2014/11/30 Python
python 识别图片中的文字信息方法
2018/05/10 Python
Python之inspect模块实现获取加载模块路径的方法
2018/10/16 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
解决Pycharm调用Turtle时 窗口一闪而过的问题
2019/02/16 Python
Python pyautogui模块实现鼠标键盘自动化方法详解
2020/02/17 Python
浅谈Python中的异常和JSON读写数据的实现
2020/02/27 Python
pytorch cuda上tensor的定义 以及减少cpu的操作详解
2020/06/23 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
Django集成MongoDB实现过程解析
2020/12/01 Python
法国票务网站:Ticketmaster法国
2018/07/09 全球购物
凯蒂·佩里个人女鞋品牌:Katy Perry Collections
2019/04/04 全球购物
C#如何判断当前用户是否输入某个域
2015/12/07 面试题
建龙钢铁面试总结
2014/04/15 面试题
人力资源管理毕业求职信
2014/08/05 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
处级干部考察材料
2014/12/24 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
2016学习雷锋精神活动倡议书
2015/04/27 职场文书
入党转正申请自我鉴定
2019/06/25 职场文书