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 Elenent实现表格相同数据列合并
Nov 30 Vue.js
vue的hash值原理也是table切换实例代码
Dec 14 Vue.js
vue绑定class的三种方法
Dec 24 Vue.js
vue 动态生成拓扑图的示例
Jan 03 Vue.js
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
Vue包大小优化的实现(从1.72M到94K)
Feb 18 Vue.js
vue 动态添加的路由页面刷新时失效的原因及解决方案
Feb 26 Vue.js
vue实现可移动的悬浮按钮
Mar 04 Vue.js
Vue项目打包、合并及压缩优化网页响应速度
Jul 07 Vue.js
vue代码分块和懒加载非必要资源文件
Apr 11 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 Vue.js
Vue Element plus使用方法梳理
Dec 24 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
ASP知识讲座四
2006/10/09 PHP
用文本作数据处理
2006/10/09 PHP
PHP 单引号与双引号的区别
2009/11/24 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
解析php file_exists无效的解决办法
2013/06/26 PHP
PHP调用.NET的WebService 简单实例
2015/03/27 PHP
Google的跟踪代码 动态加载js代码方法应用
2012/11/12 Javascript
Vue.js每天必学之过滤器与自定义过滤器
2016/09/07 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
webpack踩坑之路图片的路径与打包
2017/09/05 Javascript
angularjs实现柱状图动态加载的示例
2017/12/11 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
详解React中setState回调函数
2018/06/14 Javascript
微信小程序自定义对话框弹出和隐藏动画
2018/07/19 Javascript
微信小程序中的canvas 文字断行和省略号显示功能的处理方法
2018/11/14 Javascript
微信小程序 setData 对 data数据影响问题
2019/04/18 Javascript
微信小程序连接服务器展示MQTT数据信息的实现
2020/07/14 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
JavaScript 声明私有变量的两种方式
2021/02/05 Javascript
[03:26]《DAC最前线》之EG经理自述DOTA2经历
2015/02/02 DOTA
[03:46]DAC趣味视频-中文考试.mp4
2017/04/02 DOTA
[53:38]OG vs LGD 2018国际邀请赛淘汰赛BO3 第三场 8.26
2018/08/30 DOTA
整理Python最基本的操作字典的方法
2015/04/24 Python
在Python的Django框架中编写错误提示页面
2015/07/22 Python
正确理解python中的关键字“with”与上下文管理器
2017/04/21 Python
keras K.function获取某层的输出操作
2020/06/29 Python
python实现感知机模型的示例
2020/09/30 Python
python 制作简单的音乐播放器
2020/11/25 Python
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
巴西箱包、背包、钱包和旅行配件购物网站:Inovathi
2019/12/14 全球购物
开业典礼主持词
2014/03/21 职场文书
因公司原因离职的辞职信范文
2015/05/12 职场文书
贫民窟的百万富翁观后感
2015/06/09 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
java Nio使用NioSocket客户端与服务端交互实现方式
2021/06/15 Java/Android