1.jsp页面代码

  1. <form id="userPhoto" name="userPhoto" method="post" action="../uploadUserPhoto" enctype="multipart/form-data">
  2. <input type="hidden" id="max_PhotoSize" name="maxPhotoSize" value="${maxPhotoSize}"/>
  3. <input type="hidden" id="photoType" name="photoType" value=""/>
  4. <input type="file" id="filePhoto"  value=""
  5. 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;"
  6. name="userPhoto"/>
  7. <img style="top:0px;left:0px;z-index:99" id="imgUserPhoto" src="" width="100" height="140">
  8. <table cellpadding="0" cellspacing="0" width="100%" height="100%" border="0" align="center">
  9. <tr>
  10. <td width="100%" align="center" valign="middle">
  11. <s:hidden id="userId" name="user.userId" />
  12. </td>
  13. </tr>
  14. </table>
  15. </form>

2.js代码

  1. function uploadImage() {
  2. var fileSize = 1024 * 5000;
  3. var maxFileSize= $("#max_PhotoSize")[0].value ;
  4. var location = $("#filePhoto")[0].value;
  5. var point = location.lastIndexOf(".");
  6. var type = location.substr(point);
  7. $("#photoType").val(type);
  8. if (type == ".jpg" || type == ".gif" || type == ".JPG" || type == ".GIF" || type == ".bmp" || type == ".BMP"
  9. || type == ".jpeg" || type == ".JPEG" || type == ".PNG" || type == ".png" ) {
  10. if ($.browser.msie) {//IE
  11. var img = document.createElement("img");
  12. img.src = $("#filePhoto")[0].value;
  13. fileSize = img.fileSize;
  14. }
  15. if ($.browser.mozilla || (navigator.userAgent.toLowerCase().match(/chrome/) !=null)) {//火狐或者chrome
  16. fileSize = $("#filePhoto")[0].files[0].size;
  17. }
  18. if (fileSize > maxFileSize*1024) {
  19. alert("图片尺寸请不要大于"+maxFileSize+"KB");
  20. return false;
  21. } else {
  22. $("#userPhoto")[0].submit();
  23. return true;
  24. }
  25. } else {
  26. alert("只能上传jpg,gif,bmp,jpeg,png格式的图片");
  27. return false;
  28. }
  29. return true;
  30. }

3.补充:

以上关于IE的验证,适合于IE6以前的版本,对于IE7以上的版本前台不好判断图片的大小,最好还是通过后台判断:

(1)先将Form提交

(2)在后台判断提交图片文件大小,如果大于最大限制,则不做任何处理,返回提示语,如果在最大限制内,则再进行保存等处理

通过input上传图片,判断不同浏览器及图片类型和大小的js代码的更多相关文章

  1. [JQuery]用InsertAfter实现图片走马灯展示效果2——js代码重构

    写在前面 前面写过一篇文章<[JQuery]用InsertAfter实现图片走马灯展示效果>,自从写过那样的也算是使用面向对象的写法吧,代码实在丑陋,自从写过那样的代码,就是自己的一块心病 ...

  2. 兼容所有浏览器的设为首页收藏本站js代码

    大家发现传统的收藏本站按钮在360浏览器下面没有效果了,但是360浏览器用户群却非常之大.所以我们在网上找到一个兼容所有浏览器的收藏本站解决方案,具体功能如下: 设为首页 和 收藏本站js代码 兼容I ...

  3. IE6-能让png图片有透明效果的js代码

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  4. js判断上传文件的类型和大小

    //检测文件大小和类型 function fileChange(target){ //检测上传文件的类型 if(!(/(?:jpg|gif|png|jpeg)$/i.test(target.value ...

  5. 直接在浏览器运行jsx及高版本的js代码

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...

  6. 网页上传图片 判断类型 检测大小 剪切图片 ASP.NET版本

    本文转载自:http://www.youarebug.com/forum.php?mod=viewthread&tid=56&extra=page%3D1 我们在网页上传图片的时候,特 ...

  7. input图片上传并显示查看判断图片类型

    有一个问题:上传一次在上传一次关闭按钮会出现两次,关闭之后还有一个(改好了可以告诉我我在修正过来) <div id="box"> <div class=" ...

  8. input 上传图片显示预览、调用摄像头,ios和Android的兼容性解决

    html代码: <img id="pic" src="img/pic.png"/> </span><input id=" ...

  9. springmvc上传图片并显示--支持多图片上传

    实现上传图片功能在Springmvc中很好实现.现在我将会展现完整例子. 开始需要在pom.xml加入几个jar,分别是: <dependency> <groupId>comm ...

随机推荐

  1. 模块初识2-模块的默认保存路径Python36-32\\lib\\site-packages,Python36-32\,标准库和第三方库

    import 可以直接导入当前目录的其他脚本 如果你把login.py移动到new_dir的目录下,那么就会提示找不到模块: 要解决这个问题,有两个方法: 1.把login.py复制到C:\\User ...

  2. Go - 开始

    学习Go的缘由 由于LZ目前在使用docker,docker的编程语言使用的是“Go”,所以想更加深入的了解Docker(尝试着看懂source code)遂尝试了解下Golang. 安装 LZ用的是 ...

  3. 高效网页去重算法-SimHash

    记得以前有人问过我,网页去重算法有哪些,我不假思索的说出了余弦向量相似度匹配,但如果是数十亿级别的网页去重呢?这下糟糕了,因为每两个网页都需要计算一次向量内积,查重效率太低了!我当时就想:论查找效率肯 ...

  4. C语言经典面试题 与 C语言面试宝典

    1 预处理 问题1:什么是预编译?何时需要预编译? 答: 预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作.主要处理#开头的指令.如拷贝#include包含的文件代码.替换# ...

  5. 【UVA】12100 Printer Queue(STL队列&优先队列)

    题目 题目     分析 练习STL     代码 #include <bits/stdc++.h> using namespace std; int main() { int t; sc ...

  6. 【洛谷】P1892 团伙(并查集)+ 求助

    题目描述 1920年的芝加哥,出现了一群强盗.如果两个强盗遇上了,那么他们要么是朋友,要么是敌人.而且有一点是肯定的,就是: 我朋友的朋友是我的朋友: 我敌人的敌人也是我的朋友. 两个强盗是同一团伙的 ...

  7. IOS 后台之长时间任务 beginBackgroundTaskWithExpirationHandler 申请后台十分钟 600秒

    10分钟 beginBackgroundTaskWithExpirationHandler,beginBackgroundTaskWithName endBackgroundTask 定义变量 UIB ...

  8. 如何创建dll以及使用

    使用dll的好处: 隐藏了代码,公开了功能. 在VS2017中,创建一个DLL工程项目,将你的代码写入.cpp文件中,然后比如  这样: //////////// test.cpp #include ...

  9. margin+absolute布局:右栏固定主内容自适应 demo

    margin+absolute布局:右栏固定主内容自适应 demo 头部 Aside侧边栏区域 Main主内容区域 底部 #demo{width:80%;margin:auto;height:300p ...

  10. CCS5连接调试C64X系列DSP核

    CCS从3.3改版为5.X之后,CCS 变化很大.DaVinci芯片中DSP的调试步骤也不同了.这里介绍下在CCS里如何调试DaVinci的DSP核心 1. 创建CCS V5版本的project 本人 ...