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初学者应注意的七个细节详细介绍
Dec 27 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
Apr 10 Javascript
jquery图形密码实现方法
Mar 11 Javascript
基于JS代码实现图片在页面中旋转效果
Jun 16 Javascript
js获取腾讯视频ID的方法
Oct 03 Javascript
webpack独立打包和缓存处理详解
Apr 03 Javascript
node.js中http模块和url模块的简单介绍
Oct 06 Javascript
浅谈Vue.js组件(二)
Apr 09 Javascript
vue2.0自定义指令示例代码详解
Apr 25 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
Sep 01 Javascript
原生js+ajax分页组件
Jan 30 Javascript
Vue+Openlayers自定义轨迹动画
Sep 24 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
那些年一起学习的PHP(一)
2012/03/21 PHP
CI框架Session.php源码分析
2014/11/03 PHP
windows下的WAMP环境搭建图文教程(推荐)
2017/07/27 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
PHP7匿名类的用法示例
2019/04/05 PHP
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
可恶的ie8提示缺少id未定义
2014/03/20 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
Node.js中的流(Stream)介绍
2015/03/30 Javascript
javascript操作表格排序实例分析
2015/05/06 Javascript
javascript中substring()、substr()、slice()的区别
2015/08/30 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
2016/01/24 Javascript
基于JS如何实现给字符加千分符(65,541,694,158)
2016/08/03 Javascript
javascript修改浏览器title方法 JS动态修改浏览器标题
2017/11/30 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
原生js实现商品筛选功能
2019/10/28 Javascript
小程序自动化测试的示例代码
2020/08/11 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
举例讲解Python的lambda语句声明匿名函数的用法
2016/07/01 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
Python将json文件写入ES数据库的方法
2019/04/10 Python
python print出共轭复数的方法详解
2019/06/25 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
python多进程使用函数封装实例
2020/05/02 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
Java程序员常见面试题
2015/07/16 面试题
应用电子专业学生的自我评价
2013/10/16 职场文书
英文自荐信
2013/12/15 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
网上卖盒饭创业计划书
2014/01/26 职场文书
给老师的一封建议书
2014/03/13 职场文书
高中学生评语大全
2014/04/25 职场文书
2014年教务处工作总结
2014/12/03 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
《雪域豹影》读后感:父爱的伟大
2019/12/23 职场文书