html部分

<div class="form-group  col-md-12">
<label class="col-md-2 text-right" for="name">預覽圖片</label>
<div class=" col-md-8">
<input type="file" name="img" accept="image/*" id="image-id">
</div>
</div>
<div class="form-group col-md-12">
<label class="col-md-2 text-right" for="name">福利圖片</label>
<div class=" col-md-8">
<input type="file" name="imgs" accept="image/*" id="images-id">
</div>
</div>

js部分

//判斷上傳圖片格式
var imgtype = testImgType("image-id");
if(!imgtype) { toastr.warning('預覽圖片格式不正確'); return false; }
var imgstype = testImgType("images-id");
if(!imgstype) { toastr.warning('福利圖片格式不正確'); return false; } //判斷上傳圖片大小
var imgfile=document.getElementById("image-id");
var imgbool = testMaxSize(imgfile,1048576)?testMaxSize(imgfile,1048576):'';
if(!imgbool){
toastr.warning('預覽圖片過大,請上傳小於1M的圖片');
return false;
};
var imgsfile=document.getElementById("images-id");
var imgsbool = testMaxSize(imgsfile,1048576)?testMaxSize(imgsfile,1048576):'';
if(!imgsbool){
toastr.warning('福利圖片過大,請上傳小於1M的圖片');
return false;
};

函數部分

function testImgWidthHeight(img, w,h,callback){
var input = document.getElementsByName('img');
if(input.files){
//读取图片数据
var f = input.files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = e.target.result;
//加载图片获取图片真实宽度和高度
var image = new Image();
image.onload=function(){
var width = image.width;
var height = image.height;
if (width != w || height != h) {
//隐藏
input.value="";
callback && callback(false);
} else {
callback && callback(true);
}
};
image.src= data;
};
reader.readAsDataURL(f); }else{
var image = new Image();
image.onload =function(){
var width = image.width;
var height = image.height;
var fileSize = image.fileSize;
alert(width+'===2==='+height+"====="+fileSize);
}
image.src = input.value;
}
}
/**
*文件大小
* @param fileData
* @param Max_Size 限制圖片大小
* @returns {boolean}
*/
function testMaxSize(fileData,Max_Size){
var isAllow=false;
var size = fileData.files[0].size;
isAllow = size <= Max_Size;
if(!isAllow){
return false;
}
return isAllow;
}
/**
* 判断图片类型
* @param eventId 圖片id
* @param gif|jpg|jpeg|png|GIF|JPG|PNG
* @returns {boolean}
*/
function testImgType(eventId) {
var tmpFile = document.getElementById(eventId);
if (!/\.(jpg|jpeg|png|JPG|PNG)$/.test(tmpFile.value)) {
tmpFile.value= "";//清空上傳圖片
return false;
}
return true;
}

js获取上传图片大小,判断上传图片类型,获取图片真实宽度和高度的更多相关文章

  1. Javascript获取图片原始宽度和高度的方法详解

    前言 网上关于利用Javascript获取图片原始宽度和高度的方法有很多,本文将再次给大家谈谈这个问题,或许会对一些人能有所帮助. 方法详解 页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能 ...

  2. js密码的校验(判断字符类型、统计字符类型个数)

    /** *判断字符类型 */ function CharMode(iN) { if (iN >= 48 && iN <= 57) //数字 return 1; if (iN ...

  3. 通过input上传图片,判断不同浏览器及图片类型和大小的js代码

    1.jsp页面代码 <form id="userPhoto" name="userPhoto" method="post" actio ...

  4. js日期处理函数 -- 判断闰年,获取当月的总天数、添加月份

    1. 判断是否是闰年 function isLeapYear(eDate) { var year = eDate.getFullYear(); return (((0 == year % 4) &am ...

  5. js,jsp里将数据库Date类型获取出来后格式化显示于界面

    js:new Date(rowdata.updateTime).format("yyyy-MM-dd hh:mm:ss") jsp: <fmt:formatDate valu ...

  6. js比较日期大小 判断日期

    使用js的方法来判断两个日期的先后关系,不能正常判断,因此手写了一个方法,如下: //判断开始日期是否大于结束日期,注意,该方法仅仅适用于“2010-01-01”这样的日期格式!   function ...

  7. C# 上传图片前判断上传图片的宽和高

    网上找了好久没有找到... 最后百度到了这句话“由上传的HttpPostFile的InputStream创建一个Image对象,然后想怎么处置就随便你了”. HTML代码: <asp:FileU ...

  8. js判断上传图片文件大小,尺寸,格式

    /** * 文件宽高 * @param eventId id * @param w 宽度 * @param h 高度 * @param callback 回调函数这里判断图片像素的方法是异步的,所以需 ...

  9. js判断上传图片宽高及文件大小

    <input id="file" type="file"> <input id="Button1" type=" ...

随机推荐

  1. Oracle create tablespace 、create user and so on

    1.创建临时表空间 CREATE TEMPORARY TABLESPACE test_tempTEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_ ...

  2. svn+http+ad域

    svn本地添加用户太麻烦了,如果公司有一百个开发人员要访问,要创建账号密码太麻烦了:所以让他们用AD域账号去登录就很方便,但是权限的管控还是在svn的本地添加(这个暂时还没办法很好的解决) 一.安装依 ...

  3. C# EditPlus环境设置

    C# EditPlus环境设置 先要设置环境变量   5.0的 C:\Program Files\MSBuild\12.0\Bin 6.0的  C:\Windows\Microsoft.NET\Fra ...

  4. js中call、apply和bind的区别

    在JS中,这三者都是用来改变函数的this对象的指向的,他们有什么样的区别呢.在说区别之前还是先总结一下三者的相似之处:1.都是用来改变函数的this对象的指向的.2.第一个参数都是this要指向的对 ...

  5. lvm创建和快照

    查看磁盘 创建分区 新建1G的1分区 新建1G的2分区 新建1G的3分区 查看新建的分区 因标准分区是83交换分区是82做lv是8e所以要改变类型 查看: 保存退出: 创建物理卷pv 将物理卷pv创建 ...

  6. php字符编码转换之gb2312转为utf8(转)

    在php中字符编码转换我们一般会用到iconv与mb_convert_encoding进行操作,但是mb_convert_encoding在转换性能上比iconv要差很多哦.string iconv ...

  7. VMware网络连接IP设置

    网络配置(仅主机模式) 一.改变虚拟机IP地址达到联网目的 仅主机模式,第一步,打开我的电脑属性,查看VMt1网卡IP设置,设置一个区段:192.168.xx.aa       xx.aa自由设置,简 ...

  8. Unity 3D光源-Spot Light聚光灯用法详解、模拟手电筒、台灯等线性教程

    Unity4大光源之聚光灯 本文提供全流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar -- 心分享. ...

  9. C语言--第0次作业评分和总结(5班)

    作业链接http://www.cnblogs.com/ranh941/p/7496793.html 一.评分要求 *得分点1:建博客(5分) *得分点2:第0次作业(45分) **问题0:阅读推荐博客 ...

  10. 2018.4.23 深入理解java虚拟机(转)

    深入理解java虚拟机 精华总结(面试) 一.运行时数据区域 Java虚拟机管理的内存包括几个运行时数据内存:方法区.虚拟机栈.本地方法栈.堆.程序计数器,其中方法区和堆是由线程共享的数据区,其他几个 ...