vue 限制上传图片的宽高(基于iviewUI)

1、需要效果

2、vue代码

<Upload
            multiple
            ref="uploadContent"
            :on-success="handleSuccess"
            :on-error="handleError"
            :format="[‘jpg‘,‘jpeg‘,‘png‘]"
            :on-format-error="handleFormatError"
            :show-upload-list="false"
            :action="uploadUrl"
            :before-upload="detailBeforeUpload"
            style="float: right">
              <Button class="uploadFiles" >上传文件</Button>
            </Upload>

3、方法

detailBeforeUpload(file) {
    return this.checkImageWH(file, 1280, 90);
},
checkImageWH(file, width, height) {
        let self = this;
        return new Promise(function (resolve, reject) {
          let filereader = new FileReader();
          filereader.onload = e => {
            let src = e.target.result;
            const image = new Image();
            image.onload = function () {
              if (width && this.width != width) {
                that.$Message.error(‘请上传宽为‘ + width + "px的图片");
                reject();
              } else if (height && this.height != height) {
                that.$Message.error(‘请上传宽为‘ + height + "px的图片");
                reject();
              } else {
                resolve();
              }
            };
            image.onerror = reject;
            image.src = src;
          };
          filereader.readAsDataURL(file);
        });
},

原文地址:https://www.cnblogs.com/lxn2/p/12169840.html

时间: 2024-10-29 16:16:47

vue 限制上传图片的宽高(基于iviewUI)的相关文章

关于PHP HTML &lt;input type=&quot;file&quot; name=&quot;img&quot;/&gt;上传图片,图片大小,宽高,后缀名。

在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面. 注意: 在php.ini 中的post_max_size,upload_max_filesize默认为2M,在上传视频的时候,需要修改下,可以自行设置. 另外如果启用了内存限制,那么该值应当小于memory_limit选项的值. 在上传视频的时候,可以会需要花费些时间,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示

js判断上传图片的文件大小,和宽高尺寸

今天在做图片上传的小功能,使用了一个kissy上传组件.很好奇它是如何在图片上传前,检测到图片的大小和尺寸的?我们来写个小实例实现一下吧 如何读取图片的size 首先,原生input file控件有个files属性,该属性是一个数组.数组中的元素有以下属性:lastModifiedDate,name,size,type,webkitRelativePath,如图: 这样的话,我们就可以检测到size. var fileData = file.files[0]; var size = fileDa

【Android 应用开发】 自定义组件 宽高适配方法, 手势监听器操作组件, 回调接口维护策略, 绘制方法分析 -- 基于 WheelView 组件分析自定义组件

博客地址 : http://blog.csdn.net/shulianghan/article/details/41520569 代码下载 : -- GitHub : https://github.com/han1202012/WheelViewDemo.git -- CSDN : http://download.csdn.net/detail/han1202012/8208997 ; 博客总结 : 博文内容 : 本文完整地分析了 WheelView 所有的源码, 包括其适配器类型, 两种回调接

css未知宽高的盒子div居中的多种方法

不知道盒子大小.宽高时,如何让盒子上下左右居中? 应用场景:比如上传图片时,并不知道图片的大小,但要求图片显示在某盒子的正中央. 方法1:让4周的拉力均匀-常用 <!-- Author: XiaoWen Create a file: 2017-01-13 13:46:47 Last modified: 2017-01-13 14:05:04 Start to work: Finish the work: Other information: --> <!DOCTYPE html>

获取img的真实宽高

之前项目后台上传图片时需要对图片的宽高做限制,一开始百度了之后使用js进行判断,可是这种方式存在一定问题,后来就改在后台判断了.现在吧这两种方式都贴出来. 一.用js获取: 先说第一个方法:obj.style.width:这个方法,只有在标签里用style属性写进了width的大小,才可以获取到值,否则只返回的为空.看下面的demo: <img style="width:400px" src="http://img.hb.aicdn.com/787bf87d05ad77

JavaScript中的各种宽高属性

转自慕课网:http://www.imooc.com/article/14516 在js中,存在着N多的关于高度和宽度的属性,比如:clientHeight.offsetHeight.scrollHeight.availHeight.scrollLeft.scrollTop.style.height.innerHeight.outerHeight.scree.height等等......这么多,傻傻分不清也正常啊.本文的目标: 理清js及jquery的各种width和height 对width和

android中view的宽高测量

/// 一般的,view测量的方法: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView imageView = (ImageView) findViewById(R.id.imageview); int w = View.MeasureSpec.makeMeasu

js获取元素宽高

只说ie8+的浏览器的方法. 在转vue之前,一直使用jquery来获取元素的高度,最近转vue,发现了一个问题.使用vue的时候,部分操作需要在mounted这个生命周期里面去做,官网对mounted的解释是: 如果不在vm.$nextTick里面做操作的时候,是很有可能获取不到组件内部元素的宽高的.刚开始的时候,我没有仔细看官网,所以在mounted里面是直接获取不到子孙元素的宽高的. 后来,看了iview的一个组件的源码,看到了getComputedStyle方法获取宽高,对getComp

获取图片上传前的宽高

有时候我们需要对上传的图片做一些限制,我在vue里面用的 var reader = new FileReader(); var that = this; reader.onload = function(e){ //console.log(e); var img = new Image(); img.src = e.target.result; img.onload = function(){ console.log(this.width, " ", this.height); if(