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+vant实现购物车全选和反选功能
Nov 17 Vue.js
在Vue中使用Echarts可视化库的完整步骤记录
Nov 18 Vue.js
vue 实现图片懒加载功能
Dec 31 Vue.js
如何在vue-cli中使用css-loader实现css module
Jan 07 Vue.js
用vite搭建vue3应用的实现方法
Feb 22 Vue.js
如何理解Vue简单状态管理之store模式
May 15 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
Vue Element-ui表单校验规则实现
Jul 09 Vue.js
vue ref如何获取子组件属性值
Mar 31 Vue.js
vue数据字典取键值项目的字典问题
Apr 12 Vue.js
ant design vue的form表单取值方法
Jun 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
提升PHP执行速度全攻略
2006/10/09 PHP
解析smarty 截取字符串函数 truncate的用法介绍
2013/06/20 PHP
php解析xml提示Invalid byte 1 of 1-byte UTF-8 sequence错误的处理方法
2013/11/14 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
2017/07/10 PHP
jquerymobile checkbox及时刷新才能获取其准确值
2012/04/14 Javascript
jQuery模拟超链接点击效果代码
2013/04/21 Javascript
JS中使用Array函数shift和pop创建可忽略参数的例子
2014/05/28 Javascript
JS组件Bootstrap实现下拉菜单效果代码
2016/04/26 Javascript
Nodejs中Express 常用中间件 body-parser 实现解析
2017/05/22 NodeJs
基于jQuery封装的分页组件
2017/06/26 jQuery
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
js canvas实现写字动画效果
2018/11/30 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
jQuery鼠标滑过横向时间轴样式(代码详解)
2019/11/01 jQuery
[03:30]完美盛典趣味短片 CSGO2019年度名场面
2019/12/07 DOTA
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python编程求质数实例代码
2018/01/31 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
Python OpenCV读取png图像转成jpg图像存储的方法
2018/10/28 Python
Django上线部署之IIS的配置方法
2019/08/22 Python
Python计算指定日期是今年的第几天(三种方法)
2020/03/26 Python
Python中Selenium模块的使用详解
2020/10/09 Python
python实现代码审查自动回复消息
2021/02/01 Python
css3.0 图形构成实例练习一
2013/03/19 HTML / CSS
HTML5 图片悬停放大的实现代码示例
2019/12/04 HTML / CSS
Darphin迪梵官网: 来自巴黎,植物和精油调制的护肤品牌
2016/10/11 全球购物
Stubhub英国:购买体育、演唱会和剧院门票
2018/06/10 全球购物
一套SQL笔试题
2016/08/14 面试题
节约用水的口号
2014/06/20 职场文书
国庆节演讲稿范文2014
2014/09/19 职场文书
2015年度环卫处工作总结
2015/07/24 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
MongoDB使用profile分析慢查询的步骤
2021/04/30 MongoDB
python3 字符串str和bytes相互转换
2022/03/23 Python
python前后端自定义分页器
2022/04/13 Python