Element-ui upload上传文件限制的解决方法


Posted in Javascript onJanuary 22, 2021

问题

Element-ui upload上传文件限制的解决方法

在accept中添加上传文件的类型只能起到“表面”作用,选择“所有文件”之后,还是可以上传任何类型的文件,根本起不到限制作用。

解决办法

在before-upload(上传文件之前的钩子,参数为上传的文件,若返回 false 或者返回 Promise 且被 reject,则停止上传。)钩子里去做判断。这里有一个坑,当你设置了 :auto-upload="false"的时候, 这个钩子是不会被触发的,因此也可以在on-change中做判断。

上代码

// :before-upload或者:on-change绑定的方法
beforeUpload(file, fileList) {
   if (file.size / (1024 * 1024) > 500) {  // 限制文件大小
     this.$message.warning(`当前限制文件大小不能大于500M`)
     return false
   }
   
   let suffix = this.getFileType(file.name) //获取文件后缀名
   let suffixArray = ['jpg', 'png', 'jpeg', 'gif'] //限制的文件类型,根据情况自己定义
   if (suffixArray.indexOf(suffix) === -1) {
     this.$message({
       message: '文件格式错误',
       type: 'error',
       duration: 2000
     })
   }
   return suffixArray
 },
 getFileType(name) {
   let startIndex = name.lastIndexOf('.')
   if (startIndex !== -1) {
     return name.slice(startIndex + 1).toLowerCase()
   } else {
     return ''
   }
 }

到此这篇关于Element-ui upload上传文件限制的解决方法的文章就介绍到这了,更多相关Element upload上传限制内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
图片按比例缩放函数
Jun 26 Javascript
jquery 笔记 事件
Nov 02 Javascript
高性能JavaScript 重排与重绘(2)
Aug 11 Javascript
JavaScript jquery及AJAX小结
Jan 24 Javascript
浅析jQuery 遍历函数,javascript中的each遍历
May 25 Javascript
Vue.js实现拖放效果的实例
Sep 30 Javascript
BootStrap 动态表单效果
Jun 02 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
Jul 03 Javascript
Vue单页及多页应用全局配置404页面实践记录
May 22 Javascript
vue中实现左右联动的效果
Jun 22 Javascript
angular5 子组件监听父组件传入值的变化方法
Sep 30 Javascript
ES6中Set和Map数据结构,Map与其它数据结构互相转换操作实例详解
Feb 28 Javascript
js canvas实现五子棋小游戏
Jan 22 #Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 #Vue.js
element-ui 弹窗组件封装的步骤
Jan 22 #Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 #Javascript
原生js实现放大镜组件
Jan 22 #Javascript
Vue仿Bibibili首页的问题
Jan 21 #Vue.js
如何在vue 中使用柱状图 并自修改配置
Jan 21 #Vue.js
You might like
一个简洁的多级别论坛
2006/10/09 PHP
PHP中使用curl入门教程
2015/07/02 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
javascript打开新窗口同时关闭旧窗口
2009/01/16 Javascript
基于JQuery的Select选择框的华丽变身
2011/08/23 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
ionic实现滑动的三种方式
2016/08/27 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
AngularJS 中ui-view传参的实例详解
2017/08/25 Javascript
Vue2实时监听表单变化的示例讲解
2018/08/30 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
[13:16]INFAMOUS vs VGJ T BO3
2018/06/07 DOTA
精确查找PHP WEBSHELL木马的方法(1)
2011/04/12 Python
python提取内容关键词的方法
2015/03/16 Python
Python中利用函数装饰器实现备忘功能
2015/03/30 Python
分析Python的Django框架的运行方式及处理流程
2015/04/08 Python
详解Python中break语句的用法
2015/05/14 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
python 获取文件下所有文件或目录os.walk()的实例
2018/04/23 Python
Python定时任务APScheduler安装及使用解析
2020/08/07 Python
全球工业:Global Industrial
2020/02/01 全球购物
保加利亚服装和鞋类购物网站:Bibloo.bg
2020/11/08 全球购物
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
详解如何解决使用JSON.stringify时遇到的循环引用问题
2021/03/23 Javascript
建筑项目策划书
2014/01/13 职场文书
主持人演讲稿
2014/05/13 职场文书
企业口号大全
2014/06/12 职场文书
五年级学生评语大全
2014/12/26 职场文书
期末复习计划
2015/01/19 职场文书
2015年库房工作总结
2015/04/30 职场文书
吧主申请感言怎么写
2015/08/03 职场文书
尊师重教主题班会
2015/08/14 职场文书
导游词之南昌滕王阁
2019/11/29 职场文书
python数字图像处理之图像自动阈值分割示例
2022/06/28 Python