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生命周期的深入理解
Dec 03 Vue.js
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
Vue组件简易模拟实现购物车
Dec 21 Vue.js
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
vue 使用rules对表单字段进行校验的步骤
Dec 25 Vue.js
vscode自定义vue模板的实现
Jan 27 Vue.js
手动实现vue2.0的双向数据绑定原理详解
Feb 06 Vue.js
vue项目配置 webpack-obfuscator 进行代码加密混淆的实现
Feb 26 Vue.js
如何理解Vue前后端数据交互与显示
May 10 Vue.js
Vue和Flask通信的实现
May 19 Vue.js
vue3种table表格选项个数的控制方法
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
PHP学习笔记(二) 了解PHP的基本语法以及目录结构
2014/08/04 PHP
深入理解PHP中的count函数
2016/05/31 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
javascript attachEvent和addEventListener使用方法
2009/03/19 Javascript
Google Map Api和GOOGLE Search Api整合实现代码
2009/07/18 Javascript
一个JS小玩意 几个属性相加不能超过一个特定值.
2009/09/29 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
JS特权方法定义作用以及与公有方法的区别
2013/03/18 Javascript
js简单实现竖向tab选项卡的方法
2015/05/04 Javascript
jQuery菜单插件用法实例
2015/07/25 Javascript
浅谈JavaScript的Polymer框架中的事件绑定
2015/07/29 Javascript
jquery easyUI中ajax异步校验用户名
2016/08/19 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
原生javascript实现读写CSS样式的方法详解
2017/02/20 Javascript
jQuery实现节点的追加、替换、删除、复制功能示例
2017/07/11 jQuery
深入探究angular2 UI组件之primeNG用法
2017/07/26 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
浅谈webpack打包生成的bundle.js文件过大的问题
2018/02/22 Javascript
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
select2 ajax 设置默认值,初始值的方法
2018/08/09 Javascript
Vue.js 中的 v-show 指令及用法详解
2018/11/19 Javascript
JQuery事件冒泡和默认行为代码实例
2020/05/13 jQuery
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
[04:45]上海特级锦标赛主赛事第三日TOP10
2016/03/05 DOTA
pandas修改DataFrame列名的实现方法
2019/02/22 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
Python读取多列数据以及用matplotlib制作图表方法实例
2020/09/23 Python
python中scrapy处理项目数据的实例分析
2020/11/22 Python
python 实现超级玛丽游戏
2020/11/25 Python
Sofft鞋官网:世界知名鞋类品牌
2017/03/28 全球购物
英国Boots旗下太阳镜网站:Boots Designer Sunglasses
2018/07/07 全球购物
公务员诚信承诺书
2014/05/26 职场文书
党的作风建设心得体会
2014/10/22 职场文书
2015年世界环境日活动总结
2015/02/11 职场文书
学校国庆节活动总结
2015/03/23 职场文书