首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS图片下传浏览

2012-09-22 
JS图片上传浏览小弟使用IE滤镜写了一个图片上传预览的js,但是后出现了图片上有破图标志。请问可能是和原因?

JS图片上传浏览
小弟使用IE滤镜写了一个图片上传预览的js,但是后出现了图片上有破图标志。请问可能是和原因?附上代码

JScript code
function setImagePreview(){                    var docObj=document.getElementById("filename");                    if(docObj.files && docObj.files[0]){                        //火狐下,直接设img属性                        jQuery("img").attr("style","display:block");                        jQuery("#cropbox").attr("width","240");                        jQuery("#cropbox").attr("height","180");                                           //火狐7以上版本不能用上面的getAsDataURL()方式获取,需要一下方式                          jQuery("img").attr("src",window.URL.createObjectURL(docObj.files[0]));                        jQuery("#p").val(imgSrc);                     }else{                         //IE下,使用滤镜                        docObj.select();                        var imgSrc = document.selection.createRange().text;                        var localImagId = document.getElementById("cropbox");                        var localImag120 = document.getElementById("img100");                        //必须设置初始大小                        localImagId.style.display = "block";                        localImag120.style.display = "block";                        localImagId.style.width = "240px";                        localImagId.style.height = "180px";                        //图片异常的捕捉,防止用户修改后缀来伪造图片                        try{                               localImagId.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";                               localImagId.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;                               localImag120.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)";                               localImag120.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgSrc;                               jQuery("#p").val(imgSrc);                            }catch(e){                               alert("您上传的图片格式不正确,请重新选择!");                               return false;                           }                        //alert(imgSrc);                        //jQuery("img").attr("style","display:block");                        //jQuery("#cropbox").attr("width","240");                        //jQuery("#cropbox").attr("height","180");                        //jQuery("img").attr("src",imgSrc);                        //jQuery("#p").val(imgSrc);                        document.selection.empty();                    }                }
这个JS是在liferay的wbox弹出框中使用的。

[解决办法]
使用的浏览器是IE8吗?在IE8上,如果不修改客户端,是无法实现你的这个功能的。这也就是为什么各大网站已经不用client图像回显的原因。而改用服务器端回显。

热点排行