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中animate动画积累的解决方法
Oct 05 Javascript
基于jQuery实现表格内容的筛选功能
Aug 21 Javascript
关于JS中二维数组的声明方法
Sep 24 Javascript
微信小程序 页面跳转传值实现代码
Jul 27 Javascript
Django+Vue.js搭建前后端分离项目的示例
Aug 07 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
Oct 26 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
Dec 28 Javascript
详解plotly.js 绘图库入门使用教程
Feb 23 Javascript
基于Vue实现拖拽功能
Jul 29 Javascript
Vue项目报错:Uncaught SyntaxError: Unexpected token
Nov 10 Javascript
JS使用new操作符创建对象的方法分析
May 30 Javascript
vue中v-for循环选中点击的元素并对该元素添加样式操作
Jul 17 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的变量总结 新手推荐
2011/04/18 PHP
php获取本周开始日期和结束日期的方法
2015/03/09 PHP
php使用timthumb生成缩略图的方法
2016/01/22 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
验证码按回车不变解决方法
2013/03/29 Javascript
JQuery获取样式中的background-color颜色值的问题
2013/08/20 Javascript
js格式化货币数据实现代码
2013/09/04 Javascript
js动态调用css属性的小规律及实例说明
2013/12/28 Javascript
document.write的几点使用心得
2014/05/14 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
javascript图片延迟加载实现方法及思路
2015/12/31 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
Angular2搜索和重置按钮过场动画
2017/05/24 Javascript
Angular2学习教程之ng中变更检测问题详解
2017/05/28 Javascript
微信小程序开发中的疑问解答汇总
2017/07/03 Javascript
angular.extend方法的具体使用
2017/09/14 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
JavaScript实现图片放大镜效果
2019/06/27 Javascript
JS在Array数组中按指定位置删除或添加元素对象方法示例
2019/11/19 Javascript
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
Python实现的爬虫刷回复功能示例
2018/06/07 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
2019/06/14 Python
树莓派用python中的OpenCV输出USB摄像头画面
2019/06/22 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
Python split() 函数拆分字符串将字符串转化为列的方法
2019/07/16 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
Django如何使用redis作为缓存
2020/05/21 Python
Python 使用office365邮箱的示例
2020/10/29 Python
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
印度最好的在线药品订购网站:PharmEasy
2018/11/30 全球购物
迪卡侬波兰体育用品商店:Decathlon波兰
2020/03/31 全球购物
你对IPv6了解程度
2016/02/09 面试题
历史教育专业个人求职信
2013/12/13 职场文书
乡镇网格化管理实施方案
2014/03/23 职场文书
辛亥革命观后感
2015/06/02 职场文书
教研活动主持词
2015/07/03 职场文书