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 相关文章推荐
javascript的offset、client、scroll使用方法详解
Dec 25 Javascript
js实现幻灯片播放图片示例代码
Nov 07 Javascript
Javascript验证上传图片大小[前台处理]
Jul 18 Javascript
js Object2String方便查看js对象内容
Nov 24 Javascript
实例解析angularjs的filter过滤器
Dec 14 Javascript
JS实现密码框的显示密码和隐藏密码功能示例
Dec 26 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
JS批量替换内容中关键词为超链接
Feb 20 Javascript
教你5分钟学会用requirejs(必看篇)
Jul 25 Javascript
javascript trie前缀树的示例
Jan 29 Javascript
vuejs简单验证码功能完整示例
Jan 08 Javascript
vue2 拖动排序 vuedraggable组件的实现
Aug 08 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
php中$_REQUEST、$_POST、$_GET的区别和联系小结
2011/11/23 PHP
PHP获取客户端及服务器端IP的封装类
2016/07/21 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
2017/06/29 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
2017/07/10 PHP
用JavaScript调用WebService的示例
2008/04/07 Javascript
JavaScript CSS菜单功能 改进版
2008/12/20 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
jQuery使用数组编写图片无缝向左滚动
2012/12/11 Javascript
window.event.keyCode兼容IE和Firefox实现js代码
2013/05/30 Javascript
修复bash漏洞的shell脚本分享
2014/12/31 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
理解Angular数据双向绑定
2016/01/10 Javascript
AngularJS变量及过滤器Filter用法分析
2016/11/22 Javascript
bing Map 在vue项目中的使用详解
2018/04/09 Javascript
vue中设置、获取、删除cookie的方法
2018/09/21 Javascript
python的多重继承的理解
2017/08/06 Python
python微信跳一跳系列之自动计算跳一跳距离
2018/02/26 Python
python logging通过json文件配置的步骤
2020/04/27 Python
基于python实现操作redis及消息队列
2020/08/27 Python
使用HTML5中的contentEditable来将多行文本自动增高
2016/03/01 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
美国婚礼和派对礼品网站:Kate Aspen(新娘送礼会、迎婴派对)
2018/03/28 全球购物
舞蹈毕业生的自我评价
2014/03/05 职场文书
安全口号大全
2014/06/21 职场文书
效能风暴心得体会
2014/09/04 职场文书
实验心得体会
2014/09/05 职场文书
齐云山导游词
2015/02/06 职场文书
挂职个人工作总结
2015/03/05 职场文书
义诊活动通知
2015/04/24 职场文书
2019旅游导游工作总结
2019/06/27 职场文书
Python自动化之批量处理工作簿和工作表
2021/06/03 Python
浅谈react useEffect闭包的坑
2021/06/08 Javascript
详解Vue router路由
2021/11/20 Vue.js
python实现商品进销存管理系统
2022/05/30 Python