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

今天在做图片上传的小功能,使用了一个kissy上传组件。很好奇它是如何在图片上传前,检测到图片的大小和尺寸的?我们来写个小实例实现一下吧
如何读取图片的size

首先,原生input file控件有个files属性,该属性是一个数组。数组中的元素有以下属性:lastModifiedDate,name,size,type,webkitRelativePath,如图:
js判断图片上传时的文件大小,和宽高尺寸_第1张图片

这样的话,我们就可以检测到size:

var fileData = file.files[0];
var size = fileData.size;   //注意,这里读到的是字节数
var isAllow = false;
var maxSize = Max_Size;
maxSize = maxSize * 1024;   //转化为字节
isAllow = size <= maxSize;

兼容性:ie9下读不到input file.files这个属性。思考:怎么办?
如何读取图片的width,height?
图片真实的宽度和高度,可以通过实例化Image对象、加载src 来获取。
兼容性:IE下使用滤镜来处理图片尺寸控制
全部代码:



    测试
    
    
    



你可能感兴趣的:(js判断图片上传时的文件大小,和宽高尺寸)