通过input上传图片,判断不同浏览器及图片类型和大小的js代码
1.jsp页面代码
- <form id="userPhoto" name="userPhoto" method="post" action="../uploadUserPhoto" enctype="multipart/form-data">
- <input type="hidden" id="max_PhotoSize" name="maxPhotoSize" value="${maxPhotoSize}"/>
- <input type="hidden" id="photoType" name="photoType" value=""/>
- <input type="file" id="filePhoto" value=""
- style="font-size:400px;opacity:0;filter:alpha(opacity:0);-moz-opacity:0;position:absolute;top:0px;left:0px;width:400px;height:400px;z-index:100;overflow:hidden;cursor:pointer;"
- name="userPhoto"/>
- <img style="top:0px;left:0px;z-index:99" id="imgUserPhoto" src="" width="100" height="140">
- <table cellpadding="0" cellspacing="0" width="100%" height="100%" border="0" align="center">
- <tr>
- <td width="100%" align="center" valign="middle">
- <s:hidden id="userId" name="user.userId" />
- </td>
- </tr>
- </table>
- </form>
2.js代码
- function uploadImage() {
- var fileSize = 1024 * 5000;
- var maxFileSize= $("#max_PhotoSize")[0].value ;
- var location = $("#filePhoto")[0].value;
- var point = location.lastIndexOf(".");
- var type = location.substr(point);
- $("#photoType").val(type);
- if (type == ".jpg" || type == ".gif" || type == ".JPG" || type == ".GIF" || type == ".bmp" || type == ".BMP"
- || type == ".jpeg" || type == ".JPEG" || type == ".PNG" || type == ".png" ) {
- if ($.browser.msie) {//IE
- var img = document.createElement("img");
- img.src = $("#filePhoto")[0].value;
- fileSize = img.fileSize;
- }
- if ($.browser.mozilla || (navigator.userAgent.toLowerCase().match(/chrome/) !=null)) {//火狐或者chrome
- fileSize = $("#filePhoto")[0].files[0].size;
- }
- if (fileSize > maxFileSize*1024) {
- alert("图片尺寸请不要大于"+maxFileSize+"KB");
- return false;
- } else {
- $("#userPhoto")[0].submit();
- return true;
- }
- } else {
- alert("只能上传jpg,gif,bmp,jpeg,png格式的图片");
- return false;
- }
- return true;
- }
3.补充:
以上关于IE的验证,适合于IE6以前的版本,对于IE7以上的版本前台不好判断图片的大小,最好还是通过后台判断:
(1)先将Form提交
(2)在后台判断提交图片文件大小,如果大于最大限制,则不做任何处理,返回提示语,如果在最大限制内,则再进行保存等处理
通过input上传图片,判断不同浏览器及图片类型和大小的js代码的更多相关文章
- [JQuery]用InsertAfter实现图片走马灯展示效果2——js代码重构
写在前面 前面写过一篇文章<[JQuery]用InsertAfter实现图片走马灯展示效果>,自从写过那样的也算是使用面向对象的写法吧,代码实在丑陋,自从写过那样的代码,就是自己的一块心病 ...
- 兼容所有浏览器的设为首页收藏本站js代码
大家发现传统的收藏本站按钮在360浏览器下面没有效果了,但是360浏览器用户群却非常之大.所以我们在网上找到一个兼容所有浏览器的收藏本站解决方案,具体功能如下: 设为首页 和 收藏本站js代码 兼容I ...
- IE6-能让png图片有透明效果的js代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- js判断上传文件的类型和大小
//检测文件大小和类型 function fileChange(target){ //检测上传文件的类型 if(!(/(?:jpg|gif|png|jpeg)$/i.test(target.value ...
- 直接在浏览器运行jsx及高版本的js代码
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- 网页上传图片 判断类型 检测大小 剪切图片 ASP.NET版本
本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=56&extra=page%3D1 我们在网页上传图片的时候,特 ...
- input图片上传并显示查看判断图片类型
有一个问题:上传一次在上传一次关闭按钮会出现两次,关闭之后还有一个(改好了可以告诉我我在修正过来) <div id="box"> <div class=" ...
- input 上传图片显示预览、调用摄像头,ios和Android的兼容性解决
html代码: <img id="pic" src="img/pic.png"/> </span><input id=" ...
- springmvc上传图片并显示--支持多图片上传
实现上传图片功能在Springmvc中很好实现.现在我将会展现完整例子. 开始需要在pom.xml加入几个jar,分别是: <dependency> <groupId>comm ...
随机推荐
- snmpd 子代理模式编译测试
1.参考链接 1)Net-snmp添加子代理示例 https://blog.csdn.net/eyf0917/article/details/39546651 2.操作步骤 1)网络拷贝下面的文件 ...
- 阻塞队列之五:LinkedBlockingQueue
一.LinkedBlockingQueue简介 LinkedBlockingQueue是一个使用链表完成队列操作的阻塞队列.链表是单向链表,而不是双向链表.采用对于的next构成链表的方式来存储对象. ...
- mysql语句求按字段分组后组数是多少
select count(distinct ID) from table Thinkphp CURD写 $count = $model->where($where)->count('dis ...
- “,”、“natural join”、“natural left outer join”、“natural right outer join”的用法总结
“,”:代表笛卡尔积: “natural join”:代表自然连接,即同名列等值连接: “natural left outer join”:表示左外连接: “natural right outer j ...
- jQuery样式与动画
修改内联CSS .css() 获取 //取得单个属性的值,传入'属性名',返回"value" .css('property') //取得多个属性的值,传入'['属性1','属性2' ...
- Java语言主要特点有哪些?
1.简单 Java最初是为对家用电器进行集成控制而设计的一种语言,因此它必须简单明了.Java语言的简单性主要体现在以下三个方面: 1) Java的风格类似于C++,因而C++程序员是非常熟悉的.从某 ...
- 读《分布式一致性原理》JAVA客户端API操作
创建会话 客户端可以通过创建一个Zookeeper实例来连接服务器.4种构造方法如下 ZooKeeper(connectString, sessionTimeout, watcher): ZooKee ...
- TCP粘包拆包基本解决方案
上个小节我们浅析了在Netty的使用的时候TCP的粘包和拆包的现象,Netty对此问题提供了相对比较丰富的解决方案 Netty提供了几个常用的解码器,帮助我们解决这些问题,其实上述的粘包和拆包的问题, ...
- leetcode819
public class Solution { public string MostCommonWord(string paragraph, string[] banned) { //"a, ...
- Shiro配置cookie以及共享Session和Session失效问题
首先我们看Shiro的会话管理器的配置 <!-- shiro会话管理 --> <!-- 即用户登录后就是一次会话,在没有退出之前,它的所有信息都在会话中:会话可以是普通 JavaSE ...