elementUI 图片上传限制上传图片的宽高
文件上传,需当上传的文件类型为图片的时候,需要限制图片的宽高。
此处采用了new Promise异步加载的方式,等图片上传加载完成后,
页面代码:
<el-form-item label="广告文件" style="width: 98%" v-if="dialogStatus!='view'">
<el-upload
class="upload-demo"
drag
:action=actionURL
:data={bizType:10}
:limit=1
:multiple = false
:file-list="fileList"
:on-remove="removeFile"
:before-upload="beforeUpload"
:on-exceed="handleExceed"
:on-success = 'handleAvatarSuccess'>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
<div>将文件拖到此处,或<em>点击上传</em></div>
</div>
</el-upload>
<div class="tipCls" :class="{'fontWeightCls': form.adType==0}">图片:jpg,png,gif,webp,JPEG</div>
<div class="tipCls" :class="{'fontWeightCls': form.adType==1}">视频:3gp,mp4,mkv</div>
<div class="tipCls" :class="{'fontWeightCls': form.adType==2}">文本:txt</div>
<div class="tipCls" :class="{'fontWeightCls': form.adType==3}">声音: mp3,mkv,wav,ogg, 3gp, mp4,m4a,aac, ts,flac</div>
</el-form-item>
上传前检查事件:
beforeUpload(file){
const fileTypeName = (file.name).substring(file.name.lastIndexOf('.')*1 + 1*1); // 获取后缀名
// (0图片,1视频,2文字,3声音)
let supportFormat = ['mp3','mkv','wav','ogg','3gp','mp4','m4a','aac','ts','flac', '3gp','mp4','mkv','txt', 'jpg', 'png', 'gif', 'JPEG'];
if(this.form.adType === 0){
supportFormat=['jpg', 'png', 'gif', 'JPEG'];
} else if(this.form.adType === 1){
supportFormat=['3gp','mp4','mkv'];
} else if(this.form.adType === 2){
supportFormat=['txt'];
} else if(this.form.adType === 3){
supportFormat =['mp3','mkv','wav','ogg','3gp','mp4','m4a','aac','ts','flac'];
}
let index = supportFormat.indexOf(fileTypeName);
if(index == -1){ // 说明核实不符合
this.$message.warning('上传文件的格式不合符,请重新上传!');
return false;
} else {
// 图片文件大小限制,限制宽高分别为1280px和800px
if(this.form.adType == 0) {
22 let _this = this;
23 let imgWidth="";
24 let imgHight="";
25 const isSize = new Promise(function (resolve, reject) {
26 let width = 1280;
27 let height = 800;
28 let _URL = window.URL || window.webkitURL;
29 let img = new Image();
30 img.onload = function () {
31 imgWidth = img.width;
32 imgHight = img.height;
33 let valid = img.width == width && img.height == height;
34 valid ? resolve() : reject();
35 }
36 img.src = _URL.createObjectURL(file);
37 }).then(() => {
38 return file;
39 }, () => {
40 _this.$message.warning({message: '上传文件的图片大小不合符标准,宽需要为1280px,高需要为800px。当前上传图片的宽高分别为:'+imgWidth+'px和'+imgHight+'px', btn: false})
41 return Promise.reject();
42 });
43 console.log(isSize);
44 return isSize;
}else {
return true;
}
}
},

elementUI 图片上传限制上传图片的宽高的更多相关文章
- vue+elementUI 图片上传问题
图片上传问题,获取后台的图片,并点击可以更换图片,并把图片存储到数据库中: (1)在编辑页面上,action指的图片上传的地址,header指请求头: (2)因为element-ui有自己上传的接口, ...
- 使用阿里云服务器(OOS)实现图片上传
一: 页面 <%@ page language="java" contentType="text/html; charset=utf-8" pageEnc ...
- 如何用elementui去实现图片上传和表单提交,用axios的post方法
下面是在vue搭建的脚手架项目中的组件component文件夹下面的upload.vue文件中的内容 <!--这个组件主要用来研究upload这个elementui的上传插件组件--> & ...
- .NET WebAPI 实现图片上传(包括附带参数上传图片)
博主的项目,客户端是APP,考虑到以后也可能会应用到微信端.网站等,图片上传方法就需要兼容多端,并且以目前的设计,不允许非登录用户上传图片,就得在上传时解决附带参数上传图片的问题. 先来看看后台方法( ...
- php 图片上传的公共方法(按图片宽高缩放或原图)
写的用于图片上传的公共方法类调用方法: $upload_name='pic';$type = 'logo_val';$file_name = 'logo_' . $user_id .create_st ...
- springmvc上传图片并显示图片--支持多图片上传
实现上传图片功能在Springmvc中很好实现.现在我将会展现完整例子. 开始需要在pom.xml加入几个jar,分别是: <dependency> <groupId>comm ...
- 图片上传利用<iframe></iframe>标签实现无刷新上传图片
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- js判断图片上传时的文件大小,和宽高尺寸
今天在做图片上传的小功能,使用了一个kissy上传组件.很好奇它是如何在图片上传前,检测到图片的大小和尺寸的?我们来写个小实例实现一下吧 如何读取图片的size 首先,原生input file控件有个 ...
- kindeditor修改图片上传路径-使用webapi上传图片到图片服务器
kindeditor是一个非常好用的富文本编辑器,它的简单使用我就不再介绍了. 在这里我着重介绍一些使用kindeditor修改图片上传路径并通过webapi上传图片到图片服务器的方案. 因为我使用的 ...
随机推荐
- 配置JBOSS多实例
在使用Jbossserver时.非常多情况我们须要配置多个实例,以下为大家介绍JBoss里怎样配置多实例,以Jboss5.1为例介绍. 1.复制${JBOSS_HOME}\server\default ...
- 【POJ 2983】Is the Information Reliable?(差分约束系统)
id=2983">[POJ 2983]Is the Information Reliable? (差分约束系统) Is the Information Reliable? Time L ...
- 超简洁代码实现CircleImageView
效果图: 页面代码: public class CircleView extends ImageView { private Paint mPaint = new Paint(); public Ci ...
- 简化bigdecimal计算的小工具类
简化bigdecimal计算的小工具类 如果我们要做一个加法运算,需要先将两个浮点数转为String,然后够造成BigDecimal,在其中一个上调用add方法,传入另一个作为参数,然后把运算的结果( ...
- Codeforces Round #276 (Div. 1) A. Bits 贪心
A. Bits Let's denote as the number of bits set ('1' bits) in the binary representation of the non ...
- 【POJ 3635】 Full Tank
[题目链接] http://poj.org/problem?id=3635 [算法] 优先队列BFS 实现类似于堆优化dijkstra [代码] #include <algorithm> ...
- 最新昆石VOS2009/VOS3000手机号段导入文件(手机归属地)
使用2017年4月最新版手机号段归属地制作,支持所有版本的VOS 共360569条记录,兼容所有版本的昆石VOS,包括VOS2009.vos3000.vos5000 导入比较简单.下载后解压到桌面在V ...
- E20170828-mk
utils 工具类; 效用; 实用工具; 实用菜单; Documentation n. 记录; 证明某事属实的证据; 参考资料; 文献的编集,文件分类; receive vt. 收到; 接待; ...
- 《疯狂Python讲义》重要笔记——Python简介
简介 Python是一种面向对象.解释型.弱类型的脚本语言,同时也是一种功能强大的通过语言,它提供了高效的高级数据结构,还有简单有效的面向对象编程. 在大数据.人工智能(AI)领域应用广泛,因此变得流 ...
- weui&flexible布局
1.weui 一开始以为只能用于小程序中,原来分两种:weui-wxss-master和weui-master.真的是强大的不得了,把设计好的样式和功能封装.然后分类,有明确的层级和逻辑,感动!!值得 ...