<html> <BODY> <input type="file" onpropertychange="document.getElementById('img').src=this.value;return true;"> <img id="img" src=""> </BODY> </HTML> 以上可在IE6中正常预览图片,但在IE7下就不能正确预览图片,那是因为IE7安全方面限制了对本地图片的访问 解决方法: <mce:script language="javascript"><!-- function setImg(o) { var width_img; var height_img; o.style.visibility = "visible"; width_img=o.offsetWidth; height_img=o.offsetHeight; var width=274; //预定义宽 var height=100; //预定义高 var ratW; //宽的缩小比例 var ratH; //高的缩小比例 var rat; //实际使用的缩小比例 if(width_img<width && height_img<height) { //如果比预定义的宽高小,原图显示。 o.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image"; return; }else{ //如果大的化,要把 sizingMethod改成scale 如果属性是image,不管怎么改div的宽高,都不起作用 o.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "scale"; } ratH=height/height_img; ratW=width/width_img; if(ratH<ratW) //选择最小的作为实际的缩小比例 rat=ratH; else rat=ratW; width_img=width_img * rat; height_img=height_img * rat; o.style.width=width_img; o.style.height=height_img; } function ShowImage(path){ //处理前是原图,先将其隐藏, document.all.divShow.style.visibility = "hidden"; document.all.divShow.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = path; document.all.divShow.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image"; //过一小会获取div的宽高. setTimeout("setImg(document.all.divShow)",100); } // --></mce:script> <body MS_POSITIONING="GridLayout"> <form id="Form1" method="post" runat="server"> <INPUT style="Z-INDEX: 101; LEFT: 232px; POSITION: absolute; TOP: 272px" type="file" οnchange="ShowImage(this.value)"> <div id="divShow" style="FILTER:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image);WIDTH:274px;HEIGHT:100px"> </form> </body>