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 相关文章推荐
浅析Js(Jquery)中,字符串与JSON格式互相转换的示例(直接运行实例)
Jul 09 Javascript
jquery实现网页查找功能示例分享
Feb 12 Javascript
举例说明如何为JavaScript的方法参数设置默认值
Nov 17 Javascript
实现React单页应用的方法详解
Aug 02 Javascript
react native仿微信PopupWindow效果的实例代码
Aug 07 Javascript
解决vue中post方式提交数据后台无法接收的问题
Aug 11 Javascript
Three.js中矩阵和向量的使用教程
Mar 19 Javascript
详解vue 不同环境配置不同的打包命令
Apr 07 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 Javascript
extjs图表绘制之条形图实现方法分析
Mar 06 Javascript
在vs code 中如何创建一个自己的 Vue 模板代码
Nov 10 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判断图片格式的七种方法小结
2013/06/03 PHP
php常用的安全过滤函数集锦
2014/10/09 PHP
php多个文件及图片上传实例详解
2014/11/10 PHP
PHP实现通过正则表达式替换回调的内容标签
2015/06/15 PHP
ThinkPHP模板标签eq if 中区分0,null,false的方法
2017/03/24 PHP
JavaScript将数组转换成CSV格式的方法
2015/03/19 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
jQuery实现鼠标经过时高亮,同时其他同级元素变暗的效果
2016/09/18 Javascript
用js实现博客打赏功能
2016/10/24 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
ActiveX控件的使用-js实现打印超市小票功能代码详解
2017/11/22 Javascript
JavaScript代码实现txt文件的上传预览功能
2018/03/27 Javascript
vue实现下拉加载其实没那么复杂
2019/08/13 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
Python 第一步 hello world
2009/09/25 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
2018/11/01 Python
谈谈Python中的while循环语句
2019/03/10 Python
PyCharm中代码字体大小调整方法
2019/07/29 Python
Python爬虫 scrapy框架爬取某招聘网存入mongodb解析
2019/07/31 Python
pytorch中的上采样以及各种反操作,求逆操作详解
2020/01/03 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
python不相等的两个字符串的 if 条件判断为True详解
2020/03/12 Python
python入门教程之基本算术运算符
2020/11/13 Python
Roxy美国官网:澳大利亚冲浪、滑雪健身品牌
2016/07/30 全球购物
事业单位请假制度
2014/01/13 职场文书
纪念九一八事变演讲稿:勿忘国耻
2014/09/14 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
夫妻分居协议书范本
2014/11/28 职场文书
2014年幼儿园园长工作总结
2014/12/17 职场文书
民事撤诉申请书范本
2015/05/18 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
Python内置数据结构列表与元组示例详解
2021/08/04 Python
python在package下继续嵌套一个package
2022/04/14 Python