图片上传前预览
- <!DOCTYPE html >
- <%@ page language="java" contentType="text/html; charset=UTF-8"
- pageEncoding="UTF-8"%>
- <%@ include file="/common/taglibs.inc"%>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>测试下拉框</title>
- <script type="text/JavaScript" src="${ctx }/js/jquery1.7.2.js"></script>
- <script type="text/javascript">
- function previewIMG(img) {
- if (img.files && img.files[0]) {
- var reader = new FileReader();
- reader.onload = function(e) {
- $('#blah')
- .attr('src', e.target.result);
- }
- reader.readAsDataURL(img.files[0]); //URL是一起的,编辑器可能认为是敏感字符串,去掉空格就可以了
- $("#imgDiv").show();
- } else {
- //IE下,使用滤镜
- img.select();
- var imgSrc = document.selection.createRange().text;
- var localImagId = document.getElementById("blah"); //必须设置初始大小
- localImagId.style.width = "450px";
- localImagId.style.height = "300px";
- //图片异常的捕捉,防止用户修改后缀来伪造图片
- try{
- localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";
- localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;
- }catch(e){
- alert("您上传的图片格式不正确,请重新选择!");
- return false;
- }
- document.selection.empty();
- $("#imgDiv").show();
- }
- }
- </script>
- </head>
- <body>
- <input type="file" id="loadFile" name="loadFile"
- onchange="previewIMG(this)" />
- <div id="imgDiv" style="display:none;">
- <img id="blah">
- </div>
- </body>
- </html>
上面的代码兼容FF\IE8\9,其他的没有测试过。欢迎大家测试。
在网上找了很多都没有能兼容的,后来就查了下html5的filereader,火狐下的是用filereader做的。其实上面的代码只要浏览器可以使用html5可以兼容。样式有点丑。凑合着看.上个图片预览下
火狐下:
转载于:https://blog.51cto.com/davenzeng/1079391