element 文件上传大小控制

前端文件上传限制:判断文件大小并返回错误
该博客介绍了如何在Element UI的上传组件中实现文件大小限制,通过before-upload事件判断文件大小超过10MB时返回false,确保上传文件不超过指定范围。

1.页面代码

 <el-upload :show-file-list="false" class="upload-demo" :before-upload="beforeUpload" :on-progress="onProgress" :on-success="onSuccess" :on-error="onError" action="/api/upload">
       <el-button size="small" type="primary">点击上传</el-button>
</el-upload>
  1. 在before-upload事件中判断文件大小,不符合返回false

beforeUpload(file) {

                    let fileObj = {
                          name: file.name,
                          size: file.size,
                          status: "开始上传",
                          process: 0,
                          id: file.uid
                    }
                    if (file.size > 100 * 1024 * 1024) {
                          console.log('上传文件过大', file.size)
                          return false   //必须返回false
                    }
                    this.fileList.push(fileObj)

              },

————————————————
版权声明:本文为优快云博主「franklin_yuan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/xin_yun_Jian/article/details/103620480

### Element UI 上传组件 文件大小限制 设置 为了实现文件大小的限制,可以利用 `before-upload` 钩子函数来拦截并验证文件。具体来说,在此钩子内执行逻辑判断以确认待上传文件是否满足预设的最大尺寸要求。 对于Element UI中的`<el-upload>`标签而言,通过配置其属性与事件处理程序可达成这一目标: - **属性**:无需特别设定额外属性用于直接控制文件大小;主要依赖于JavaScript逻辑。 - **事件处理器 (`before-upload`)** - 接收参数为当前选中准备上传的单个文件对象。 - 可在此处编写代码检查文件大小,并返回布尔值决定是否允许继续上传流程。 当检测到文件超出指定范围时,应阻止默认行为并向用户提供反馈信息。下面是一个具体的例子说明如何实施这样的机制[^1]: ```javascript // JavaScript部分 methods: { handleBeforeUpload(file) { // 定义最大允许的文件大小(单位字节) const maxSizeInBytes = 1 * 1024 * 1024; // 例如这里设置成1MB // 判断文件大小是否超过了规定的上限 if (file.size > maxSizeInBytes) { alert('上传失败!所选文件过大,请选择不超过1MB的照片'); // 返回false表示不允许该文件被添加至队列中 return false; } // 如果一切正常,则让上传过程按预期进行下去 return true; }, } ``` ```html <!-- HTML模板 --> <template> <div id="app"> <!-- 使用 :before-upload 属性绑定之前定义的方法 --> <el-upload action="#" :before-upload="handleBeforeUpload"> <button>点击上传</button> </el-upload> </div> </template> ``` 上述代码展示了怎样在尝试上传前先做一次简单的校验操作,从而有效防止不符合条件的文件进入后续处理阶段。值得注意的是,这里的错误消息可以通过更友好的方式展示给用户,比如使用框架自带的消息提示插件 `$message.error()` 来替代原始的 `alert()` 函数。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值