html5图片上传 限制,关于input type="file" 上传图片,如何限制上传图片的分辨率...

在项目中,需要限制上传图片的分辨率,同时要兼容各浏览器(IE8及IE8以上,谷歌,火狐)。经过搜索和思考最终解决这个bug,记录下来,希望能帮助他人。

HTML代码:

CSS代码:

.conImage{

filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image); /* 该对象只用来在IE下获得图片的原始尺寸,无其它用途 */

height: 1px;

visibility:hidden;

overflow: hidden;

}

JS代码:

var width,height;

function handleConFiles(files){

if(navigator.userAgent.indexOf("MSIE 8.0")>0 navigator.userAgent.indexOf("MSIE 9.0")>0){

var objPreviewSizeFake = $(".conImage").get(0);//jquery对象转化为DOM对象

var fileupload = document.getElementById("head");

var $fileupload = $(fileupload);

$fileupload.select();

$fileupload.blur();

path = document.selection.createRange().text;

if (/"\w\W"/.test(path)) {

path = path.slice(1,-1);

}

objPreviewSizeFake.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = path;

width=objPreviewSizeFake.offsetWidth;

height=objPreviewSizeFake.offsetHeight;

if(width > 1024 || height > 120){

fill = false;

alert("上传图片的尺寸应在1024*120之间");

}

document.selection.empty();

}else{

for (var i = 0; i < files.length; i++) {

var file = files[i];

var reader = new FileReader();

var ret = [];

reader.onload = function(theFile) {

var image = new Image();

image.onload = function() {

width=this.width;

height=this.height;

if(width> 1024 || width> 120){

fill = false;

alert("头像尺寸应在1024x120之间");

}

};

image.src = theFile.target.result;

}

reader.readAsDataURL(file);

}

}

}

其中js部分可以根据自己的需求,可以增加参数,重新封装一下;也可以将分辨率的判断放在其他地方等等。

注:FileReader用于读取文件,属于HTML5。ie9及ie9以下不支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用JavaScript来限制上传图片分辨率。以下是一个简单的例子: 1. 首先,在HTML中添加一个input元素,用于选择要上传的文件: ```html <input type=&quot;file&quot; name=&quot;image&quot; id=&quot;imageInput&quot; onchange=&quot;checkImageResolution()&quot;> ``` 2. 在JavaScript中编写一个函数来检查上传图片分辨率。以下是一个例子: ```javascript function checkImageResolution() { // 获取上传的图片 var image = document.getElementById(&quot;imageInput&quot;).files[0]; // 创建一个Image对象来读取图片信息 var img = new Image(); // 设置Image对象的src属性 img.src = window.URL.createObjectURL(image); // 当图片加载完成时执行以下代码 img.onload = function() { // 获取图片的宽度和高度 var width = this.width; var height = this.height; // 如果图片的分辨率不符合要求,弹出提示框并清空文件选择框 if (width < 800 || height < 600) { alert(&quot;上传的图片分辨率不符合要求,请上传分辨率高于800x600的图片。&quot;); document.getElementById(&quot;imageInput&quot;).value = &quot;&quot;; } }; } ``` 在上面的代码中,我们使用了Image对象来读取上传的图片信息,然后检查图片的宽度和高度是否符合要求。如果不符合要求,就弹出一个提示框并清空文件选择框。 请注意,上面的代码仅是一个简单的示例。实际应用中,你可能需要更复杂的逻辑来检查图片的分辨率、文件类型等等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值