js获取上传图片大小,判断上传图片类型,获取图片真实宽度和高度
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获取上传图片大小,判断上传图片类型,获取图片真实宽度和高度的更多相关文章
- Javascript获取图片原始宽度和高度的方法详解
前言 网上关于利用Javascript获取图片原始宽度和高度的方法有很多,本文将再次给大家谈谈这个问题,或许会对一些人能有所帮助. 方法详解 页面中的img元素,想要获取它的原始尺寸,以宽度为例,可能 ...
- js密码的校验(判断字符类型、统计字符类型个数)
/** *判断字符类型 */ function CharMode(iN) { if (iN >= 48 && iN <= 57) //数字 return 1; if (iN ...
- 通过input上传图片,判断不同浏览器及图片类型和大小的js代码
1.jsp页面代码 <form id="userPhoto" name="userPhoto" method="post" actio ...
- js日期处理函数 -- 判断闰年,获取当月的总天数、添加月份
1. 判断是否是闰年 function isLeapYear(eDate) { var year = eDate.getFullYear(); return (((0 == year % 4) &am ...
- js,jsp里将数据库Date类型获取出来后格式化显示于界面
js:new Date(rowdata.updateTime).format("yyyy-MM-dd hh:mm:ss") jsp: <fmt:formatDate valu ...
- js比较日期大小 判断日期
使用js的方法来判断两个日期的先后关系,不能正常判断,因此手写了一个方法,如下: //判断开始日期是否大于结束日期,注意,该方法仅仅适用于“2010-01-01”这样的日期格式! function ...
- C# 上传图片前判断上传图片的宽和高
网上找了好久没有找到... 最后百度到了这句话“由上传的HttpPostFile的InputStream创建一个Image对象,然后想怎么处置就随便你了”. HTML代码: <asp:FileU ...
- js判断上传图片文件大小,尺寸,格式
/** * 文件宽高 * @param eventId id * @param w 宽度 * @param h 高度 * @param callback 回调函数这里判断图片像素的方法是异步的,所以需 ...
- js判断上传图片宽高及文件大小
<input id="file" type="file"> <input id="Button1" type=" ...
随机推荐
- L320 What late-night snacking has to do with sleep
What late-night snacking has to do with sleep Light-night snacking isn’t just something college stud ...
- [Spring]初识Spring-Spring是什么?如何实例化一个Spring容器?
关于Spring入门的基础知识点 Spring简介 Spring是由Rod Johnson创建的轻量型容器,目的在于简化企业级开发.是一种容器框架 a.降低侵入性 b.提供了IOC(控制反转)和AOP ...
- 记一次ios加急上架经历
https://developer.apple.com//contact/app-store/?topic=expedite app迭代版本上架之前一直好好的没报错,没crash,但是有一次加急上架, ...
- elasticsearch学习笔记——相关插件和使用场景
logstash-input-jdbc学习 ES(elasticsearch缩写)的一大优点就是开源,插件众多.所以扩展起来非常的方便,这也造成了它的生态系统越来越强大.这种开源分享的思想真是与天朝格 ...
- python day05 作业答案
1. b.不可以 c.tu=("alex",[11,22,{"k1":"v1","k2":["age" ...
- sql,取得当前系统时间,算时间区间
mysql: SELECT * from (SELECT H_TEMPERATURE FROM WENSHIDU WHERE TH_TIME >=date_sub(NOW(), interva ...
- 2.18 爬页面源码(page_source)
2.18 爬页面源码(page_source) 前言有时候通过元素的属性的查找页面上的某个元素,可能不太好找,这时候可以从源码中爬出想要的信息.selenium的page_source方法可以获取到页 ...
- caffe 中solver.prototxt
关于cifar-10和mnist的weight_decay和momentum也是相当的重要:就是出现一次把cifar-10的两个值直接用在mnist上,发现错误很大.
- HTTP基本原理(转)
1. HTTP简介 HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议.它可以使浏览器更加高效,使网络传输减少. ...
- C++指针易错点梳理
1 指针定义 指针是一个变量:指针的值是另一个变量的地址.变量的声明 type *var-name; var-name 是指针变量的名称.星号是用来指定一个变量var-name是指针变量. int * ...