- 浏览: 587572 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (423)
- windows2003 (1)
- exception (3)
- java (91)
- eclipse (14)
- java web (3)
- javaScript (11)
- 装机 (1)
- sql (34)
- outlook (1)
- html (8)
- JAVA 不同区域服务器引起的乱码解决 (2)
- strtus (3)
- http (1)
- 设计模式 (4)
- Java对存储过程的调用方法 (0)
- java-数据库操作 (0)
- jdbc (7)
- dwr (2)
- 软件版本号 (1)
- jxls (1)
- ExtJS (3)
- Ajax (1)
- git (12)
- linux (20)
- mysql (14)
- maven (16)
- easyui (1)
- 日常备注 (1)
- spring (9)
- others (1)
- windows快捷键 (1)
- 工作备注 (9)
- 工作杂项 (0)
- photoshop (1)
- 开发环境配置 (0)
- jboss (1)
- 报表 (1)
- 图表 (1)
- fckeditor (1)
- 调试bug (2)
- 口令 (1)
- css (2)
- mongodb (7)
- restful (1)
- jsp (5)
- jpa (2)
- bug (1)
- js (2)
- Json (1)
- POI (1)
- xml (2)
- webstorm (1)
- java swing (1)
- ubuntu (3)
- mongo (27)
- 自我学习 (0)
- 草稿 (0)
- 单元测试 (1)
- 数据库 (2)
- ide (1)
- 大数据 (0)
- uml (1)
- spring-boot (1)
- mybatis (3)
- oracle (2)
- jetty (1)
- 学习 (0)
- 系统调优 (1)
- tomcat (2)
- kettle (1)
- 学习资源 (1)
- 架构 (2)
- database (4)
- idea (1)
- consul (1)
- hadoop (2)
- nginx (3)
- 认证 (1)
- 加密 (1)
- connection pool (1)
- loadrunner (1)
- tps (1)
- 翻墙工具 (1)
- redis (2)
- redis jedis shardjedis (1)
- spring boot (1)
- 认证授权 (1)
- ssh (1)
- svn (2)
- 多线程 (1)
最新评论
-
abcdeudi:
不错
接口和抽象类什么时候使用才合适? -
羽翼的心动:
POI中对Word处理,读取不到书签。如果要处理书签的话,就只 ...
POI根据模板(excel表头)导出excel -
pdf1192012:
高质量文章
接口和抽象类什么时候使用才合适? -
沐忆潼:
...
POI根据模板(excel表头)导出excel -
422937561:
高质量文章
接口和抽象类什么时候使用才合适?
按长宽比例预览上传的本地图片(javascript)(兼容ie,firefox,chrome)
- 博客分类:
- javaScript
一 兼容ie和firefox 浏览本地图片
二)兼容 ie,firefox,chrome 浏览本地图片
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title> 用户中心 </title> <base href="" /> <meta http-equiv="keywords" content="${keywords}"> <meta http-equiv="description" content="${description}"> <script type="text/javascript"> function perImg(o) { var filepath = ""; //文件路径 var agent = window.navigator.userAgent; var isIE7 = agent.indexOf('MSIE 7.0') != -1; var isIE8 = agent.indexOf('MSIE 8.0') != -1; if (!o.value.match(/.jpg|.gif|.png|.bmp/i)) { alert('图片格式无效!'); return; } if (agent.indexOf("Firefox") != -1 ||agent.indexOf("Chrome") != -1) { //火狐浏览器判断 document.getElementById("preview").src = window.URL.createObjectURL(o.files[0]); //显示预览图 alert(document.getElementById("preview").src); var fileSize = o.files[0].size; //获取文件大小 alert(fileSize); if (fileSize > 1024) { alert("文件不能大于1M"); } else { alert("文件符合大小"); } } } </script> </head> <body> <div> <img id="preview" style="width: 80px; height: 85px; border: 0px;" /> </div> <br /> <input type="file" id="file" name="file" onchange="perImg(this)" /> </body> </html>
二)兼容 ie,firefox,chrome 浏览本地图片
<style type="text/css"> #preload{ position:absolute; left:"-9999px"; top:"-9999px"; width:"1px"; height:"1px"; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image); } </style>
function setImagePreview() { var MaxWidth=205; var docObj=document.getElementById("imageFile"); var f=docObj.value; if(length(f)>20){ alert("文件名必须小于20个英文字符(即10个中文字符)!"); return false; } /* firefox 下正常 var fileInput = $("#imageFile")[0]; byteSize = fileInput.files[0].size; if( Math.floor(byteSize/1024)>5*1024 ){ alert("图片不能大于5M"); return false; }*/ if(!f.match(/.jpg|.gif|.jpeg|.png|.bmp/i)) { alert("图片类型必须是.gif,jpeg,jpg,png,bmp中的一种"); return false; } var imgObjPreview=document.getElementById("preview"); if(docObj.files && docObj.files[0]){ //火狐下,直接设img属性 imgObjPreview.style.display = 'block'; //imgObjPreview.style.width = '200px'; //imgObjPreview.style.height = '350px'; //imgObjPreview.src = docObj.files[0].getAsDataURL(); //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式 imgObjPreview.src = window.URL.createObjectURL(docObj.files[0]); Wa_SetImgAutoSize(imgObjPreview); }else{ //IE下,使用滤镜 docObj.select(); var imgSrc = document.selection.createRange().text; var preload = document.getElementById("preload"); var localImagId = document.getElementById("localImag"); //必须设置初始大小, 如果没虾米的初始化赋值,preload.offsetWidth,preload.offsetHeight都为0 preload.style.width = "1px"; preload.style.height = "1px"; preload.style.top= "-9999px"; preload.style.left = "-9999px"; //图片异常的捕捉,防止用户修改后缀来伪造图片 try{ preload.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image)"; preload.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc; localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)"; localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc; alert(preload.offsetWidth+"a "); localImagId.style.width=MaxWidth+"px"; localImagId.style.height= Math.floor(MaxWidth*(preload.offsetHeight/preload.offsetWidth))+"px"; }catch(e){ alert("您上传的图片格式不正确,请重新选择!"); return false; } imgObjPreview.style.display = 'none'; document.selection.empty(); } return true; } function length(str) { var strArray=str.split("\\"); str=strArray[strArray.length-1]; var realLength = 0, len = str.length, charCode = -1; for (var i = 0; i < len; i++) { charCode = str.charCodeAt(i); if (charCode >= 0 && charCode <= 128) realLength += 1; else realLength += 2; } return realLength; }
<div id="preload" ></div> <div id="localImag" > <img id="preview" style="width:205px;height:auto" src="<%=request.getContextPath() %>/api/ad/v1/splash/download?splash_id=${splashPicture.id}" onload="Wa_SetImgAutoSize(this)" /> </div>
发表评论
-
时区相关
2016-03-12 01:31 598http://bjtime.cn/info/view.asp? ... -
时区相关
2016-03-12 01:30 0http://bjtime.cn/info/view.asp? ... -
前端api
2016-01-05 14:21 270前端api https://msdn.microsoft.co ... -
在限定范围内实现图片自动缩放
2014-01-16 11:56 930一)方法1 <style type="te ... -
jquery的attr(“onchange”,函数名)
2012-09-14 17:36 3030很奇怪,下面的代码如果onChang改为onchange则没有 ... -
JS中数据类型的判断
2012-08-02 13:40 879摘自:http://hxsdit.com/1523 -
JS 中toFixed()的bug
2012-08-01 14:46 2844测试小数点四色五入。 例如,5.05---->toFix ... -
javaScript和jquery在onclick函数上的一些区别
2012-07-16 21:08 28401)javaScript onclick=function ... -
js判断变量是否未定义
2012-07-16 21:01 14391)"undefined"==typeof ... -
javascript设置onclick
2012-07-16 16:29 45036一)js修改onclick动作的 ... -
document.selection 的 empty() 与 clear() 特殊用法
2011-09-01 21:00 1105ocument.selection.empty() 让选中的内 ...
相关推荐
调用图片处理控件,对图片进行处理。 sPicname :源文件名称。 sPicDir:源文件所在文件路径。 sPicExt:源文件扩展名。 dPicWidth:目标文件所要的宽度。 dPicHeight:目标文件所要的高度。 dFileName:目标...
本文将深入探讨一个JavaScript函数,该函数能够确保在网页上加载的图片能够根据容器大小自动调整其尺寸,同时保持原始的长宽比例不变,从而避免图片在显示过程中出现变形或拉伸的情况。 #### 函数定义与参数说明 此...
2. **处理图片高度**:为了保持图片的比例不变,可以考虑将图片的高度属性删除或者注释掉,这样浏览器会自动根据宽度的比例来计算高度。 ```javascript // img.attr('height', height); // 注释掉此行 ``` 3. *...
"图片按比例缩放"就是其中一个核心操作,它涉及到图像处理的基本原理和技术。在本篇文章中,我们将深入探讨如何进行图片按比例缩放,以及这一过程中的相关知识点。 首先,我们来理解什么是“按比例缩放”。比例缩放...
本文将介绍如何使用Python的PIL(Pillow)库来实现按长宽比缩放图片,并在缩放后填充空白部分为黑色。PIL库是Python的一个强大的图像处理模块,提供了丰富的图像处理功能。 首先,我们需要导入PIL库中的Image模块,...
不用IE控件(ActiveXObject)不用 Img属性 上传图片客户端判断大小,javascript获得上传图片的大小 兼容所有浏览器,亲测可用 判断文件大小,判断上传图片的大小,图片格式
这个问题主要集中在Chrome浏览器上,尽管在IE和Firefox中能够正常获取,但在Chrome中可能会遇到问题。这个问题的核心在于,当尝试获取图片的尺寸时,浏览器可能尚未完成图片的加载。 首先,我们要理解为什么在某些...
例如,保持图片原有宽高比时,需要计算新的宽度和高度,使得图片按比例缩放。可以使用以下公式: ``` 新宽度 = 原宽度 * (目标高度 / 原高度) 新高度 = 原高度 * (目标宽度 / 原宽度) ``` 其中,如果目标宽度或...
在IT领域,尤其是在图形设计、数据可视化以及计算机辅助设计(CAD)中,了解并掌握绘图区的长宽比例是一项至关重要的技能。标题"技巧181掌握绘图区的长宽比例共2页.pdf.zip"揭示了这个知识点的重点,即如何有效地...
上传图片时等比例缩小图片,内存、长宽都会变小的那种
因此,我们需要计算出一个缩放比例,使得缩略图的宽度或高度与原始图片的对应边相等,而另一条边按比例缩放。 ```javascript const maxWidth = 200; // 设定最大宽度或高度 const maxHeight = 200; const ...
在IT领域,图片上传功能是网站、应用及各种在线服务中常见的需求。为了提供良好的用户体验并确保系统稳定运行,开发者通常需要对用户上传的图片进行一些限制,包括图片的大小和类型。以下是对这一主题的详细说明: ...
标题“按比例图片尺寸(无白边)”指的是在保持原始图像长宽比的基础上,调整图片的大小,以确保图像不失真,同时不添加任何多余的白边。这种做法对于保持图片的视觉效果和完整性至关重要,特别是当你希望图片在不同...
最近公司的一些项目,有很多客服反应,拍照上传的订单及发票看不清,后台查看安卓上传的图片都在100K以下,上传的图片不管大小多大都自动宽高压缩的一半。网上找半天没有合适的方法处理,最后只能自己写了个方法,...
要么是在DOM中写入,要么就是等图片加载完毕后才开始获取,用户体验极其不好,今天特意整理一个办法,可以让javascript在html加载完毕后就可以立即获取img文件的头数据,非常快速的将图片的真实尺寸展现在你面前,...
在探讨“js图片等比例缩放”的主题时,我们深入解析了如何利用JavaScript来实现图片的等比例缩放,这是一个在网络开发中极为实用且常见的需求。等比例缩放的目的是为了适应不同尺寸的屏幕或布局需求,同时保持图片...
接下来是第二个函数,用于处理上传图片并按指定尺寸进行等比例缩放。我们可以创建一个名为`uploadAndResizeImage($file, $targetDir, $width, $height)`的函数,它接受上传的文件对象、目标保存目录、目标宽度和高度...
在IT行业中,尤其是在Web开发领域,用户经常需要上传图片并进行一些定制化的处理,比如截取图片的特定区域。这个任务通常涉及到前端的JavaScript技术,以及可能的后端处理。以下将详细介绍“net上传图片自定义图片...
### js 图片上传前大小长宽验证知识点 #### 1. 图片预览与信息获取 在进行图片上传前,需要实现图片的预览以及获取图片的尺寸信息。在JavaScript中,可以通过创建一个`Image`对象来实现。实例化一个`Image`对象后,...
然后,我们可以计算出图片的长宽比,将这个比例应用到图片的容器元素上,确保图片在任何情况下都能按比例填充。为了防止图片失真,我们通常会设置容器的宽度为固定值,而高度则根据图片比例自动调整,或者反之。 在...