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 相关文章推荐
Jquery读取URL参数小例子
Aug 30 Javascript
jQuery实现的Div窗口震动特效
Jun 09 Javascript
iframe里的页面禁止右键事件的方法
Jun 10 Javascript
使用js画图之饼图
Jan 12 Javascript
纯js实现无限空间大小的本地存储
Jun 18 Javascript
浅析Node.js的Stream模块中的Readable对象
Jul 29 Javascript
javascript+html5+css3自定义提示窗口
Jun 21 Javascript
如何在Angular应用中创建包含组件方法示例
Mar 23 Javascript
JS几个常用的函数和对象定义与用法示例
Jan 15 Javascript
原生JS实现萤火虫效果
Mar 07 Javascript
一文搞懂redux在react中的初步用法
Jun 09 Javascript
vue配置型表格基于el-table拓展之table-plus组件
Apr 12 Vue.js
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-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
2011/08/15 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
PHP中的str_repeat函数在JavaScript中的实现
2013/09/16 PHP
zend framework框架中url大小写问题解决方法
2014/08/19 PHP
php获得网站访问统计信息类Compete API用法实例
2015/04/02 PHP
PHP中4种常用的抓取网络数据方法
2015/06/04 PHP
PHP实现简单数字分页效果
2015/07/26 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
PHP多维数组排序array详解
2017/11/21 PHP
PHPStorm2020.1永久激活及下载更新至2020(推荐)
2020/09/25 PHP
[原创]用javascript实现检测指定目录是否存在的方法
2008/01/12 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
javascript dom 基本操作小结
2010/04/11 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
Vue系列:通过vue-router如何传递参数示例
2017/01/16 Javascript
Thinkjs3新手入门之如何使用静态资源目录
2017/12/06 Javascript
Vue引用Swiper4插件无法重写分页器样式的解决方法
2018/09/27 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
原生js实现抽奖小游戏
2019/06/27 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
2020/01/06 Javascript
Vue强制组件重新渲染的方法讨论
2020/02/03 Javascript
python numpy函数中的linspace创建等差数列详解
2017/10/13 Python
Python实现的用户登录系统功能示例
2018/02/05 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
Numpy截取指定范围内的数据方法
2018/11/14 Python
Python中list的交、并、差集获取方法示例
2019/08/01 Python
python构建指数平滑预测模型示例
2019/11/21 Python
Pretty You London官网:英国拖鞋和睡衣品牌
2019/05/08 全球购物
怎样让char类型的东西转换成int类型
2013/12/09 面试题
食品安全承诺书
2014/05/22 职场文书
医德医风自我评价2015
2015/03/03 职场文书
唐山大地震观后感
2015/06/05 职场文书
2016十一国庆节感言
2015/12/09 职场文书
mysql查看表结构的三种方法总结
2022/07/07 MySQL