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 相关文章推荐
常用参考资料(手册)下载或者链接
Jul 22 Javascript
javascript 最常用的10个自定义函数[推荐]
Dec 26 Javascript
JavaScript打字小游戏代码
Dec 26 Javascript
Javascript中设置默认参数值示例
Sep 11 Javascript
js中substr,substring,indexOf,lastIndexOf,split,replace的用法详解
Nov 09 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
Aug 29 Javascript
AngularJS中的Promise详细介绍及实例代码
Dec 13 Javascript
js 转义字符及URI编码详解
Feb 28 Javascript
基于jQuery实现文字打印动态效果
Apr 21 jQuery
JS获取填报扩展单元格控件的值的解决办法
Jul 14 Javascript
js实现关闭网页出现是否离开提示
Dec 07 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
Sep 29 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.ini中文版(1)
2006/10/09 PHP
PHP4实际应用经验篇(6)
2006/10/09 PHP
php 数组的一个悲剧?
2011/05/11 PHP
laravel 5 实现模板主题功能(续)
2015/03/02 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
php的socket编程详解
2016/11/20 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
php微信开发之音乐回复功能
2018/06/14 PHP
基于Asp.net与Javascript控制的日期控件
2010/05/22 Javascript
stream.js 一个很小、完全独立的Javascript类库
2011/10/28 Javascript
使用js操作css实现js改变背景图片示例
2014/03/10 Javascript
jquery 中的each()跳出循环的语句
2014/05/23 Javascript
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
jQuery不兼容input的change事件问题解决过程
2014/12/05 Javascript
深入理解JavaScript系列(42):设计模式之原型模式详解
2015/03/04 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
关于backbone url请求中参数带有中文存入数据库是乱码的快速解决办法
2016/06/13 Javascript
nodejs微信公众号支付开发
2016/09/19 NodeJs
JavaScript SHA1加密算法实现详细代码
2016/10/06 Javascript
JS处理数据四舍五入(tofixed与round的区别详解)
2017/10/26 Javascript
async/await地狱该如何避免详解
2018/05/10 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
JS动态图片的实现方法完整示例
2020/01/13 Javascript
python数据清洗系列之字符串处理详解
2017/02/12 Python
Python输出各行命令详解
2018/02/01 Python
Python处理菜单消息操作示例【基于win32ui模块】
2018/05/09 Python
Python多线程threading模块用法实例分析
2019/05/22 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
凯特方迪化妆品官网:Kat Von D Beauty
2016/11/15 全球购物
博士学位自我鉴定范文
2013/12/26 职场文书
一份婚庆公司创业计划书
2014/01/11 职场文书
2014年乡镇卫生院工作总结
2014/11/24 职场文书
小学优秀学生评语
2014/12/29 职场文书
检讨书格式
2015/05/07 职场文书
聊一聊Redis与MySQL双写一致性如何保证
2021/06/26 Redis