iview Upload组件多个文件上传的示例代码


Posted in Javascript onSeptember 30, 2018

使用  iview Upload 上传组件 手动上传 包括单个文件和多个文件

思路:创建一个数组 把需要上传的文件 push到这个数组里面

1.引用组件

2.手动上传,根据官方文档 设置:before-upload ="handleUpload"等于false

(1).:before-upload 是 iview Upload 上传组件的一个属性 设置返回值为 false 可以阻止默认上传方式(自动上传模式)

(2).handleUpload 是方法  *备注:代码在最后面

3.上传方法

 

//创建 formData 对象
          let formData = new FormData();
          //向 formData 对象中添加文件--这是其他参数
          formData.append('jsid', _jsid);

          //多个文件上传----------重点----需要吧已经存储到本地的文件加入 formData所以这里用for循环

          for(var i=0; i< that.file.length; i++){ 
           formData.append("uploadFile",that.file[i]);  // 文件对象  
          }

HTML代码如下:

<FormItem label="应标资料" v-show="islook">
          <template>
            <Upload
              multiple
              ref="upload"
              type="drag"
              :format="['docx','doc','txt', 'pdf']"
              :max-size="5000"
              :before-upload="handleUpload"
              :action="http">
              <div style="padding: 20px 0">
                <Icon type="ios-cloud-upload" size="52" style="color: #3399ff"></Icon>
                <p>点击或者拖拽到此次上传文件</p>
              </div>
            </Upload>
            <div>
              <ul class="file-list" v-for="(list,index) in file" :key="index">
                <li>文件名: <span style="font-size:15px;">{{ list.name }}</span> <Icon type="ios-close" size="20" style="float:right;" @click="delFileList(index)"></Icon></li>
              </ul>
            </div>
          </template>
        </FormItem>


        <FormItem v-show="islookshenghe">
          <h3>已经提交数据-正在等待审核</h3>
          <Button type="primary" @click="gobackfanhui">返回</Button>
        </FormItem>

        <FormItem v-show="islook">
          <Button type="primary" :loading="loading2" icon="ios-power" @click="upload">
            <span v-if="!loading2">接受并提交应标信息</span>
            <span v-else>正在上传文件中...</span>
          </Button>      

          <p style="color:red;font-size:15px;" v-show="isfiletihsi">请上传文件</p>
        </FormItem>

JS代码

delFileList(index){
        let that = this;
        that.file.splice(index, 1);
        
        console.log(that.file);
      }
handleUpload (file) {
        let that = this;
        if(that.file.length >= 5){
          this.$Message.info("最多只能上传5个文件");
        }else{
          that.file.push(file);
        }
        return false;
      }

axios提交方法代码:

upload(){
        let that = this;
        let _jsid = that.$route.query.id;
        if(that.file.length > 0){
          that.loading2 = true;
          //创建 formData 对象
          let formData = new FormData();
          //向 formData 对象中添加文件
          formData.append('jsid', _jsid);

          //多个文件上传
          for(var i=0; i< that.file.length; i++){ 
           formData.append("uploadFile",that.file[i]);  // 文件对象  
          } 

          let config = {
           headers: {
            'Content-Type': 'multipart/form-data'
           }
          }

          axios.post(that.http + "/shweb/gys/gysmsge/gysuploads.action", formData, {
                timeout: 10000,
                headers: {
                  'Content-Type': 'multipart/form-data'
                }
              }).then(function (rdata) {
                that.loading2 = false;
                if(rdata.data == "0"){
                  that.islook = false;
                  that.islookshenghe = true;
                }
                console.log(rdata);
              }).catch(function (error) {
                that.loading2 = false;
               that.$Message.error('服务器错误' + error);
              });
        }else{
          that.$Message.error("请至少上传一个文件");
        }
      }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JavaScript日历实现代码
Sep 12 Javascript
高亮显示web页表格行的javascript代码
Nov 19 Javascript
JS实现切换标签页效果实例代码
Nov 01 Javascript
JavaScript中的类数组对象介绍
Dec 30 Javascript
ES6中如何使用Set和WeakSet
Mar 10 Javascript
BootStrap制作导航条实例代码
May 06 Javascript
vue.js框架实现表单排序和分页效果
Aug 09 Javascript
Vue中computed与methods的区别详解
Mar 24 Javascript
VUE中使用MUI方法
Feb 12 Javascript
js实现双人五子棋小游戏
May 28 Javascript
Element图表初始大小及窗口自适应实现
Jul 10 Javascript
vue项目中使用多选框的实例代码
Jul 22 Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 #Javascript
angularJs中orderBy筛选以及filter过滤数据的方法
Sep 30 #Javascript
jQuery实现点击图标div循环放大缩小功能
Sep 30 #jQuery
angularJs使用ng-repeat遍历后选中某一个的方法
Sep 30 #Javascript
基于VUE实现的九宫格抽奖功能
Sep 30 #Javascript
react native基于FlatList下拉刷新上拉加载实现代码示例
Sep 30 #Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
Sep 30 #Javascript
You might like
德生PL330的评价与改造
2021/03/02 无线电
Adodb的十个实例(清晰版)
2006/12/31 PHP
php 禁止页面缓存输出
2009/01/07 PHP
PHP 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
php导出word格式数据的代码实例
2013/11/25 PHP
php判断并删除空目录及空子目录的方法
2015/02/11 PHP
常用PHP数组排序函数归纳
2016/08/08 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
PHP类的自动加载机制实现方法分析
2019/01/10 PHP
jquery 事件执行检测代码
2009/12/09 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
使用Jquery实现每日签到功能
2015/04/03 Javascript
javascript原始值和对象引用实例分析
2015/04/25 Javascript
knockoutjs动态加载外部的file作为component中的template数据源的实现方法
2016/09/01 Javascript
JavaScript程序设计高级算法之动态规划实例分析
2017/11/24 Javascript
小程序实现左右来回滚动字幕效果
2018/12/28 Javascript
vue2.0中set添加属性后视图不能更新的解决办法
2019/02/22 Javascript
Python中使用Inotify监控文件实例
2015/02/14 Python
让Python代码更快运行的5种方法
2015/06/21 Python
对python产生随机的二维数组实例详解
2018/12/13 Python
对Python 获取类的成员变量及临时变量的方法详解
2019/01/22 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
Python Web静态服务器非堵塞模式实现方法示例
2019/11/21 Python
如何用Python绘制3D柱形图
2020/09/16 Python
python 如何对logging日志封装
2020/12/02 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
python模块内置属性概念及实例
2021/02/18 Python
波比布朗英国官网:Bobbi Brown英国
2017/11/13 全球购物
Missguided美国官网:英国时尚品牌
2018/01/18 全球购物
英国家庭、花园、汽车和移动解决方案:Easylife Group
2018/05/23 全球购物
经济管理专业求职信
2014/06/09 职场文书
岗位说明书怎么写
2014/07/30 职场文书
2014年资料员工作总结
2014/11/18 职场文书
初中差生评语
2014/12/29 职场文书
MySQL性能指标TPS+QPS+IOPS压测
2022/08/05 MySQL