jquery怎样限制上传图片的大小和像素宽高,分辨率
电子照片1200像素(宽)×1600像素(高),分辨率300dpi,照片大小不超过2M;网上的这个不好用,直接卡死while(true){if(img.fileSize>...
电子照片1200像素(宽)×1600像素(高),分辨率300dpi,照片大小不超过2M;
网上的这个不好用,直接卡死while(true){
if(img.fileSize>0){
if(img.fileSize>3*1024){
alert("图片不大于300KB。"); //检测允许的上传文件大小
return false;
}
break;
} 展开
网上的这个不好用,直接卡死while(true){
if(img.fileSize>0){
if(img.fileSize>3*1024){
alert("图片不大于300KB。"); //检测允许的上传文件大小
return false;
}
break;
} 展开
1个回答
推荐于2016-04-12
展开全部
<script type="text/javascript">
function validate_img(a){
var file = a.value;
if(!/.(gif|jpg|jpeg|png|GIF|JPG|png)$/.test(file)){
alert("图片类型必须是.gif,jpeg,jpg,png中的一种");
return false;
}else{
var image = new Image();
image.src = file;
var height = image.height;
var width = image.width;
var filesize = image.filesize;
alert(height+"x.."+filesize);
if(width>80 && height>80 && filesize>102400){
alert('请上传80*80像素 或者大小小于100k的图片');
return false;
}
}
alert("图片通过");
}
</script>
图像:<input type="file" name="uploadImg" onchange="Javascript:validate_img(this);" size="12"/>
测试的时候放服务器上测试,本地不行的哈~
追问
我在本地测试高,宽都是0,为什么在服务器上才行呢?
追答
因为JS是没有权限读取修改本地文件的。只有在服务器上通过url 下载到图片才能读取到图片的宽高大小。简单来说js要或者图片宽高是一定会在图片在服务器上下载完后才能获得
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询