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 19 Vue.js
详解Vue中的自定义指令
Dec 07 Vue.js
Vue实现指令式动态追加小球动画组件的步骤
Dec 18 Vue.js
基于vue+echarts数据可视化大屏展示的实现
Dec 25 Vue.js
浅析vue中的nextTick
Dec 28 Vue.js
SpringBoot+Vue 前后端合并部署的配置方法
Dec 30 Vue.js
通过vue.extend实现消息提示弹框的方法记录
Jan 07 Vue.js
Vue实现简单计算器
Jan 20 Vue.js
vue实现拖拽进度条
Mar 01 Vue.js
vue+flask实现视频合成功能(拖拽上传)
Mar 04 Vue.js
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
Apr 17 Vue.js
前端vue+express实现文件的上传下载示例
Feb 18 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使用mysql_query查询超大结果集超内存问题
2016/03/14 PHP
php封装的单文件(图片)上传类完整实例
2016/10/18 PHP
php基于dom实现读取图书xml格式数据的方法
2017/02/03 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
超级强大的表单验证
2006/06/26 Javascript
分享别人写的一个小型js框架
2007/08/13 Javascript
使用dynatrace-ajax跟踪JavaScript的性能
2010/04/12 Javascript
js 为label标签和div标签赋值的方法
2013/08/08 Javascript
Jquery 点击按钮自动高亮实现原理及代码
2014/04/25 Javascript
jquery实现textarea 高度自适应
2015/03/11 Javascript
JS绘制生成花瓣效果的方法
2015/08/05 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
2016/05/05 Javascript
微信小程序 循环及嵌套循环的使用总结
2017/09/26 Javascript
十分钟带你快速了解React16新特性
2017/11/10 Javascript
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
JS获取当前时间的实例代码(昨天、今天、明天)
2018/11/13 Javascript
vue组件之间通信方式实例总结【8种方式】
2019/02/22 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
Python 连连看连接算法
2008/11/22 Python
python中list循环语句用法实例
2014/11/10 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
通过Turtle库在Python中绘制一个鼠年福鼠
2020/02/03 Python
Python pip配置国内源的方法
2020/02/14 Python
解决使用python print打印函数返回值多一个None的问题
2020/04/09 Python
美国在线咖啡、茶和餐厅供应商:LollicupStore
2018/05/04 全球购物
英国的一家创新礼品和小工具零售商:Menkind
2019/08/24 全球购物
监理员的岗位职责
2013/11/13 职场文书
师范生求职信
2014/06/14 职场文书
责任书范本
2014/08/25 职场文书
党员自评材料范文
2014/12/17 职场文书
学生退学证明
2015/06/23 职场文书
婚宴父母致辞
2015/07/27 职场文书
如何用vue实现网页截图你知道吗
2021/11/17 Vue.js
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL
前端JS获取URL参数的4种方法总结
2022/04/05 Javascript
Windows Server 2019 配置远程控制以及管理方法
2022/04/28 Servers