elementUI+Vue 上传文件大小与文件类型校验
2019-04-22 10:50
1001 查看
问题描述
关于elementUI文件上传校验功能实现
代码
<el-upload accept="image/jpeg,image/gif,image/png"class="upload-demo upload-tip" :action="uploadUrl()" :on-preview="handlePreview" :on-remove="handleRemove" :on-success="onsuccsess" :before-remove="beforeRemove" multiple :before-upload="beforeUpload" :file-list="fileList"> <el-button size="small" type="primary">点击上传</el-button> <div slot="tip" class="el-upload__tip">只能上传jpg/png/gif文件,且至少上传1张,大小不超过 200kb</div> </el-upload>
1.文件类型校验可以有2种方式
- 第一种
直接在el-upload中加上下面这一行就好,这适用于文件类型比较常见的,文件类型可选择性比较少时
accept="image/jpeg,image/gif,image/png"
- 第二种
第二种适用与校验文件类型比较多时,可以在beforeUpload方法中进行过滤:
beforeUpload(file) { var FileExt = file.name.replace(/.+\./, ""); if (['jpg','png','txt','zip', 'rar','pdf','doc','docx','xlsx'].indexOf(FileExt.toLowerCase()) === -1){ this.$message({ type: 'warning', message: '请上传后缀名为jpg、png、txt、pdf、doc、docx、xlsx、zip或rar的附件!' }); return false; } },
2.文件大小校验
- 可以在beforeUpload方法中进行过滤:
... this.isLt2k = file.size / 1024 < 200?'1':'0'; if(this.isLt2k==='0') { this.$message({ message: '上传文件大小不能超过200k!', type: 'error' }); } return this.isLt2k==='1'?true: false;
- beforeRemove方法中需要把不符合大小的文件自动移除
beforeRemove(file, fileList) { if(this.isLt2k==='1'||this.isLt2k === ''){ return this.$confirm(`确定移除 ${file.name}`); } else if(this.isLt2k==='0') { return true; } }
结束!!!
相关文章推荐
- element-ui文件上传 做类型大小的限制
- vue+element-ui上传文件
- Vue上传文件:ElementUI中的upload实现
- vue+elementui el-upload上传文件携带参数
- 关于vue+element ui 实现上传文件
- vue+elementui的table行内实现el-upload文件添加/多文件上传
- js限制上传文件大小及类型
- js 控制 上传文件的大小和类型
- PHP图片文件上传类型限制扩展名限制大小限制与自动检测目录创建。
- laravel+vue+element-ui 搭建和静态文件优化篇
- php非常简单的文件上传,没有文件类型、大小限制
- vue elementui el-upload组件 input type=file坑重新选择同一文件时不再显示
- 图片上传 文件类型和大小的判断
- webuploader上传文件,含文件大小、类型验证
- struts过滤上传文件的大小以及类型
- js兼容ie和chrome的文件上传大小校验
- 如何修改上传文件大小及类型的限制
- 根据FileUpload控件名获取上传文件(大小)类型
- js 限定上传文件大小 类型
- 使用jquery过滤上传文件的类型和限制文件的大小