iview Upload组件多个文件上传
使用 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("请至少上传一个文件");
}
}
iview Upload组件多个文件上传的更多相关文章
- Flash上传组件之SWFUpload文件上传
一.什么是SWFUpload? SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而 ...
- common-fileupload组件实现java文件上传和下载
简介:文件上传和下载是java web中常见的操作,文件上传主要是将文件通过IO流传放到服务器的某一个特定的文件夹下,而文件下载则是与文件上传相反,将文件从服务器的特定的文件夹下的文件通过IO流下载到 ...
- JS组件系列——Bootstrap文件上传组件:bootstrap fileinput
前言:之前的三篇介绍了下bootstrap table的一些常见用法,发现博主对这种扁平化的风格有点着迷了.前两天做一个excel导入的功能,前端使用原始的input type='file'这种标签, ...
- 使用element UI el-upload组件实现视频文件上传及上传进度显示方法总结
实现效果: 上传中: 上传完成: 代码: <el-form-item label="视频上传" prop="Video"> <!-- acti ...
- 用jQuery File Upload实现简单的文件上传
FORM中的代码: {# file_path #} <div class="form-group"> <label class="control-lab ...
- Element ui 上传文件组件(单文件上传) 点击提交 没反应
element ui 第一次上传文件后 上传其他文件再次点击不再次提交 需要使用 clearFiles 清空已上传文件列表 这时候在次点击 上传按钮 就会惊喜的发现 可以上传了使用方法 this.$r ...
- WEB文件上传之apache common upload使用(一)
文件上传一个经常用到的功能,它有许多中实现的方案. 页面表单 + RFC1897规范 + http协议上传 页面控件(flash/html5/activeX/applet) + RFC1897规范 + ...
- Spring Boot + Vue 前后端分离,两种文件上传方式总结
在Vue.js 中,如果网络请求使用 axios ,并且使用了 ElementUI 库,那么一般来说,文件上传有两种不同的实现方案: 通过 Ajax 实现文件上传 通过 ElementUI 里边的 U ...
- .JavaWeb文件上传和FileUpload组件使用
.JavaWeb文件上传 1.自定义上传 文件上传时的表单设计要符合文件提交的方式: 1.提交方式:post 2.表单中有文件上传的表单项:<input type="file" ...
随机推荐
- mysql创建函数槽点
上机环境 mysql8.0 navicat for mysql 很有那么一批软件程序,要不做点脱了裤子放屁的事儿就觉得自己不够二进制似的,今儿写了一下午mysql函数,怎么都通过不了,上网一看 mys ...
- 乱花渐入迷人眼------从解决jqueryEasyUI上传插件提交ajax请求谈网页调试
由于要给格斗男神写搏击俱乐部ERP系统,就要用到jquery Easyui插件规范数据和表单的录入,其中一项功能就是上传商品图片, 而且是在datagrid-detailview中使用filebox完 ...
- Jquery+json绑定带层次下拉框(select控件)
一.实现的效果图 备注: 1.主要实现添加类别绑定到Ztree树之后,select下拉框在不刷新页面的情况下,通过Jquery重新绑定问题,增加用户体验度: 2.这个只是实现两层的绑定,通过sql语句 ...
- Django 文件配置、pycharm及django连接数据库、表的增删改查 总结
静态文件配置 1.你在浏览器中输入网址能够有响应的资源返回给你 是因为后端已经提前给你开设该资源的接口,也就意味着你所能 访问到的资源 都是人家事先定义好的 2.django如何给用户开设资源接口呢? ...
- JavaScript基础——JavaScript语法基础(笔记)
JavaScript语法基础(笔记) 1.语言编码 JavaScript语言建立在Unicode字符集基础之上,因此脚本中,用户可以使用双字节的字符命名常量.变量或函数等. [示例] var 我=&q ...
- uniapp引用iconfont图标
不得不说uniapp引入iconfont确实比较坑.下面方法可行: 引入方法: 1.在confont官网找好图标,然后点击复制代码, 2.点击红圈的复制代码后在网页打开,出现如下: 3.然后再unia ...
- 【leetcode】1237. Find Positive Integer Solution for a Given Equation
题目如下: Given a function f(x, y) and a value z, return all positive integer pairs x and y where f(x,y ...
- static后期静态绑定
先说一下__CLASS__,get_class() , get_called_class() 区别: __CLASS__获取当前的类名, get_class()与上面一样,都是获取当前的类名, ge ...
- Python列表解析和字典解析
python笔记_列表解析 相比于for循环,列表解析的语法是由底层c语言实现的,它和使用for循环遍历pyobject对象相比,性能会有很大的提升. 无条件子句的列表解析式 In [2]: [2*i ...
- SpringMVC配置多个自定义拦截器
特别提示:本人博客部分有参考网络其他博客,但均是本人亲手编写过并验证通过.如发现博客有错误,请及时提出以免误导其他人,谢谢!欢迎转载,但记得标明文章出处:http://www.cnblogs.com/ ...