vue elementUI怎么处理文件批量上传
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要介绍了vue elementUI怎么处理文件批量上传的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue elementUI怎么处理文件批量上传文章都会有所收
千家信息网最后更新 2025年11月07日vue elementUI怎么处理文件批量上传
这篇文章主要介绍了vue elementUI怎么处理文件批量上传的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue elementUI怎么处理文件批量上传文章都会有所收获,下面我们一起来看看吧。
elementUI 如何处理文件批量上传
问题
elementUI的Upload上传组件,通过设置multiple为true,就可以实现多选文件;但是在处理的时候还是一个一个传上去。目前需要在所有文件上传后,将某几个上传错误的结果拼接起来做一次提醒
解决
this.$refs.upload.uploadFiles
该属性可以获取上传的文件相关信息,包括上传后后端返回的response
html
el-upload ref='upload' class="upload-demo" action="https://jsonplaceholder.typicode.com/posts/" :on-preview="handlePreview" :on-remove="handleRemove" :before-remove="beforeRemove" multiple :on-success='upLoadSuccess' accept=".doc,.docx">点击上传 只能上传doc/docx文件
方法处理
upLoadSuccess(response, file, fileList) { if (this.$refs.upload.uploadFiles) { let length = this.$refs.upload.uploadFiles.length this.UpLoadFilesLength ++ // 全局变量,用来计算upLoadSuccess方法调用次数 if (this.UpLoadFilesLength == length) { this.UpLoadAllFilesLength = 0 // 如果方法调用的次数和文件列表的长度相同,说明所有文件都上传完毕,将该全局变量置0 this.resErrorStr() // 该函数处理每个文件上传错误情况下response拼接 } }},resErrorStr() { if (this.$refs.upload.uploadFiles) { // 如果存在这个值 let filesList = this.$refs.upload.uploadFiles.slice() let UpLoadAllErrorStr = '' // 错误信息拼接变量 for (let i = 0; i < filesList.length; i++) { if (filesList[i].response) { if (filesList[i].response.code != 200) { // 如果该文件上传后返回的状态值不是200,则说明该文件上传错误 UpLoadAllErrorStr += `${filesList[i].response.message}
` } } } if (!UpLoadAllErrorStr) { this.$message({ type: 'success', message: '上传文件成功!' }); } else { this.$message({ type: 'error', dangerouslyUseHTMLString: true, message: UpLoadAllErrorStr }); } this.$refs.uploadAll.uploadFiles = [] // 调用完成之后将值置空,防止再次上传将上次结果也记录下来 }},handleRemove(file, fileList) { console.log(file, fileList);},handlePreview(file) { console.log(file);},beforeRemove(file, fileList) { return this.$confirm(`确定移除 ${ file.name }?`);}elementUI批量上传下载注意事项
批量手动上传文件,和表单数据一起提交
在el-upload组件关键的钩子,其它省略
multiple:auto-upload = "false":file-list = "fileList":on-change = "selectFile"(里面是把上传的fileList传给自定义的 this.fileList)
点击上传,将多个文件和表单数据一起上传
a.定义FormData,将表单数据和文件填充到FormData里面
b.自定义请求头部,Content-type:‘multipart/form-data’
let formData = new FormData()for(let key in data){ if(data[key]){ formData.append(key,data[key]) } }this.fileList.forEach((element,i) =>{ formData.append('fileList',element.raw)})let rs = await axios({ method:'post', url: cfg.uploadURL + '/sp/addSp', data: formData, headers:{ 'Content-type':'multipart/form-data' } })表格中上传文件中,组件钩子函数自带参数
beforeRemove(file,fileList,index){ console.log(index)} 点击上传 只能上传jpg/png文件,且不超过500kb
批量下载(后台不返回压缩包,前端就一个个下载了)
download(val){ let vals = val.split(',') //后台返回的文件标识符数组 vals.forEach((element) =>{ const iframe = document.createElement("iframe"); iframe.style.display = "none"; iframe.style.height = 0; iframe.src = cfg.baseURL+'下载路径'+element; document.body.appendChild(iframe); setTimeout(()=>{ iframe.remove(); }, 1000) })}关于"vue elementUI怎么处理文件批量上传"这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对"vue elementUI怎么处理文件批量上传"知识都有一定的了解,大家如果还想学习更多知识,欢迎关注行业资讯频道。
文件
处理
错误
变量
数据
方法
知识
组件
表单
信息
全局
内容
函数
后台
次数
篇文章
结果
钩子
相同
成功
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中软邮箱连接服务器失败
服务器err60
数据库的规模和特点
网络安全巡检工作
网络运维与网络安全怎么样
纵诺网络技术有限公司怎么样
数据库调优的专业术语
北邮大二数据库实验
山西大学研究生院网络安全
裕华区标准软件开发服务供应
遵义莹格互联网科技有限公司
网络安全指的是什么h
电信服务器中有哪些模块
运用服务器
不懂软件开发怎么管理软件
游戏网络或服务器异常怎么办
绿盾无主服务器地址
腾讯网络安全公开课
软件开发工程师35岁后
it与网络技术
真空封口机软件开发
mysql数据库建表格式
株洲服务器软件工程师寒假班
郑州网络安全宣传论坛
万方数据期刊数据库
广州天琴网络技术有限公司
杭州紫光网络技术公司
临床试验数据库编程
去数据库获取时间执行定时任务
软件开发权限有哪些