el-upload的多个文件与单个文件上传

样式图:
场景多个:

使用el-upload上传多个文件

javascript 复制代码
<el-upload class="upload-demo" :action="uploadUrl" :on-remove="handleRemove1"
    :on-success="handleAvatarSuccess1"  multiple :limit="5" 
    :on-exceed="handleExceed1" :file-list="fileList1">
     <el-button size="small" type="primary">点击上传</el-button>
</el-upload>

multiple 就是可以上传多个的参数

文件的上传地址 :https://xxx.com/xxx/upload  配置在env文件
uploadUrl: process.env.VUE_APP_XXX配置的名字

handleAvatarSuccess1:上传成功后的函数
handleAvatarSuccess1(res, file, fileList) {  不同的接口的返回参数可能不一样
            let obj = {};
            obj.fileName = res.data.fileName;
            obj.fileUrl = res.data.filePath;
            this.bothFile1.push(obj);
        },


handleRemove1:移除已经上传的文件
bothFile1 :是要发送给接口的参数
handleRemove1(file, fileList) {      多个和单个的这里在我这篇文章中不一样
           this.bothFile1 = this.bothFile1.filter((item) => {
              return item.fileUrl != file.response.data.filePath;
         });
},

handleExceed1 :超过限制以后
 handleExceed1(files, fileList) {
            this.$message.warning(
                `当前限制选择 5 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`
            );
        },

fileList1:是上传后显示在按钮下面的文件列表
由于这里是在el-dialog里面,因此如果关闭后或者上传成功后fileList1要清空
场景单个:
javascript 复制代码
   <el-upload :action="uploadBothPdf" :file-list="fileList3" :on-exceed="handleExceed3"
        :on-success="handleAvatarSuccess3" multiple :limit="1" >
         el-button size="small" type="primary">点击上传</el-button>
   /el-upload>

差别在于,由于只能上传一个文件所以就不需要remove,因为文件是必传,如果是非必选则需要写on-remove 在bothFles(传递的给接口的参数)里面去掉被删除的文件
  handleAvatarSuccess3(res, file) {
            this.bothFile3.fileName = res.data.fileName;
            this.bothFile3.fileUrl = res.data.filePath;
    },
相关推荐
风止何安啊4 分钟前
🚦 前端并发请求 “交通管制”:别让你的接口堵成早高峰
前端·javascript·面试
J船长8 分钟前
扫盲烂笔头:A 记录、CNAME 的作用, Nginx的用途,为啥叫反向代理
前端
妙码生花14 分钟前
从 PHP 到 AI + Golang,程序员自救转型手记(二十六):icon 组件封装
前端·vue.js·typescript
李明卫杭州14 分钟前
Vue2 & Vue3 中 Router `props` 配置详解:彻底摆脱 `$route` 依赖
前端·vue.js·前端框架
掘金一周15 分钟前
裁员了,公司很爽快,赔偿一分没少 | 沸点周刊 7.8
前端·人工智能·后端
熊猫钓鱼>_>19 分钟前
2026 前端的三场底层革命:当 Vue、React Native 和 Three.js 同时去掉中间层
前端·javascript·vue.js·react native·架构·webgl·three.js
名字还没想好☜29 分钟前
React useEffect 依赖数组踩坑:闭包陷阱与清理函数
前端·javascript·react.js·react·useeffect
自己记录_理解更深刻1 小时前
Computed 聚合依赖+ 竞态处理
vue.js
宸翰1 小时前
uni-app 设置 Android 底部虚拟导航栏背景色
android·前端·uni-app
柒和远方2 小时前
LeetCode 4. 寻找两个正序数组的中位数 —— 二分划分的艺术
javascript·python·算法