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. transform带来的坑

    1.transform会使子元素fixed定位和absolute定位失效. 2.父元素设置了border-radius和overflow:hidden, 但是子元素有transform属性,父元素设置 ...

  2. python scrapy解码方法和时间格式转换

    import scrapy from datetime import datetime class BianSpider(scrapy.Spider): name = 'bian' # allowed ...

  3. Day15作业及默写

    1.整理今天内容 PASS 2.现有列表alist = [3,1,-4,2,-6] 按照元素的绝对值大小进行排序 alist = [3,1,-4,2,-6] sorted(alist,key=lamb ...

  4. 30行python让图灵机器人和茉莉机器人无止尽的瞎扯蛋

    首先注册申请图灵机器人的API: http://www.tuling123.com/ 查看一下API的格式,很简单: { "key": "APIKEY", &q ...

  5. 地理空间数据云--TM影像下载

    实验要用到遥感影像,,TM,,之前是可以在美国USGS上下载的,但是要FQ了,有点麻烦,, 想到之前本科实在地理空间数据云平台下载的,就试了一下以前的账号,完美!,, TM数据很丰富,到2017年的都 ...

  6. element.dataset API

    不久之前我向大家展示了非常有用的classList API,它是一种HTML5里提供的原生的对页面元素的CSS类进行增.删改的接口,完全可以替代jQuery里的那些CSS类操作方法.而另外一个非常有用 ...

  7. ecmall 支付成功 订单状态没有改变解决办法

    问题原因:ecmall版本较低,或者是没有更新支付宝接口导致的.支付宝修改了返回参数,给支付宝增加了一个返回的状态:TRADE_SUCCESS. 解决方案: 需要修改“includes\payment ...

  8. linux 系统命令和方法

    1.EXPORT EXPORT 依赖库===============export LD_LIBRARY_PATH=/opt/export LD_LIBRARY_PATH=/usrlib/ 2.查看分区 ...

  9. Oracle密码概要文件,密码过期时间180天修改为3天,相关用户密码是否过期

    #Oracle用户密码,概要文件修改测试 #默认的用户使用概要文件,默认概要文件密码过期时间参数180天,修改为3天,对于老的用户来说,是密码过期,还是未发生改变, 对于新用户来说,新设置的密码过期时 ...

  10. Scrapy对接selenium+phantomjs

    1.创建项目 :Jd 2.middlewares.py中添加selenium 1.导模块 :from selenium import webdriver 2.定义中间件 class seleniumM ...