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 相关文章推荐
表单提交验证类
Jul 14 Javascript
js利用div背景,做一个竖线的效果。
Nov 22 Javascript
jquery中的$(document).ready()使用小结
Feb 14 Javascript
基于jQuery实现表单提交验证
Nov 24 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
jQuery validate+artdialog+jquery form实现弹出表单思路详解
Apr 18 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
Aug 02 Javascript
详解plotly.js 绘图库入门使用教程
Feb 23 Javascript
vue实现路由懒加载及组件懒加载的方式
Jun 11 Javascript
echarts实现折线图的拖拽效果
Dec 19 Javascript
ES11新增的这9个新特性,你都掌握了吗
Oct 15 Javascript
微信小程序实现modal弹出框遮罩层组件(可带文本框)
Dec 20 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设计模式 Mediator (中介者模式)
2011/06/26 PHP
深入Nginx + PHP 缓存详解
2013/07/11 PHP
30个php操作redis常用方法代码例子
2014/07/05 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
图片完美缩放
2006/09/07 Javascript
禁止F5等快捷键的JS代码
2007/03/06 Javascript
jquery快捷动态绑定键盘事件的操作函数代码
2013/10/17 Javascript
关于前后端json数据的发送与接收详解
2017/07/30 Javascript
Vue路由history模式解决404问题的几种方法
2018/09/29 Javascript
angularjs使用div模拟textarea文本框的方法
2018/10/02 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
Js参数RSA加密传输之jsencrypt.js的使用
2020/02/07 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
Python并发编程协程(Coroutine)之Gevent详解
2017/12/27 Python
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
Python 模拟动态产生字母验证码图片功能
2019/12/24 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
vscode配置anaconda3的方法步骤
2020/08/08 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
python调用摄像头的示例代码
2020/09/28 Python
前端使用canvas生成盲水印的加密解密的实现
2020/12/16 HTML / CSS
春秋航空官方网站:Spring Airlines
2017/09/27 全球购物
全球才华横溢工匠的家居装饰、珠宝和礼物:NOVICA
2021/01/22 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
结构工程研究生求职信
2013/10/13 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
办公室秘书岗位职责范本
2014/02/11 职场文书
餐饮营销方案
2014/02/23 职场文书
搞笑婚礼主持词
2014/03/13 职场文书
学校安全责任书
2014/04/14 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
暑假打工感想
2015/08/07 职场文书
创业不要错过,这4种餐饮新模式
2019/07/18 职场文书
导游词之上海杜莎夫人蜡像馆
2019/11/22 职场文书