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中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
vue3.0+vue-router+element-plus初实践
Dec 02 Vue.js
对vue生命周期的深入理解
Dec 03 Vue.js
vue使用exif获取图片经纬度的示例代码
Dec 11 Vue.js
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
Vue组件简易模拟实现购物车
Dec 21 Vue.js
Vue.extend 登录注册模态框的实现
Dec 29 Vue.js
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
vue登录页实现使用cookie记住7天密码功能的方法
Feb 18 Vue.js
vue实现倒计时功能
Mar 24 Vue.js
vue项目两种方式实现竖向表格的思路分析
Apr 28 Vue.js
Vue+Flask实现图片传输功能
Apr 01 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
那些年我们错过的魔术方法(Magic Methods)
2014/01/14 PHP
php+mysql实现用户注册登陆的方法
2015/01/03 PHP
微信 getAccessToken方法详解及实例
2016/11/23 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
基于jquery的图片的切换(以数字的形式)
2011/02/14 Javascript
js有序数组的连接问题
2013/10/01 Javascript
js、css、img等浏览器缓存问题的2种解决方案
2013/10/23 Javascript
javascript抖动元素的小例子
2013/10/28 Javascript
jsPDF生成pdf后在网页展示实例
2014/01/16 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
seajs学习教程之基础篇
2016/10/20 Javascript
javascript ASCII和Hex互转的实现方法
2016/12/27 Javascript
浅谈Angular4中常用管道
2017/09/27 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
React.js绑定this的5种方法(小结)
2018/06/05 Javascript
Nuxt.js 数据双向绑定的实现
2019/02/17 Javascript
no-vnc和node.js实现web远程桌面的完整步骤
2019/08/11 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
pygame游戏之旅 添加游戏暂停功能
2018/11/21 Python
python元组和字典的内建函数实例详解
2019/10/22 Python
解决flask接口返回的内容中文乱码的问题
2020/04/03 Python
德国百年厨具品牌WMF美国站:WMF美国
2016/09/12 全球购物
Python中pass语句的作用是什么
2016/06/01 面试题
实习协议书范本
2014/04/22 职场文书
高一学生期末评语
2014/04/25 职场文书
门面房租房协议书
2014/08/20 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
领导干部对照检查材料
2014/08/24 职场文书
英语邀请函范文
2015/02/02 职场文书
《风娃娃》教学反思
2016/02/18 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
MySQL中varchar和char类型的区别
2021/11/17 MySQL
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏
vue实现简易音乐播放器
2022/08/14 Vue.js