图片上传浏览的代码:
<script type="text/javascript">
    function viewmypic(mypic,imgfile) {
    if (imgfile.value){
    mypic.src=imgfile.value;
    mypic.style.display="";
    mypic.border=1;
    }
    }
    </script>
<asp:FileUpload ID="FileUpload1" onchange="viewmypic(imgID1,this.form.FileUpload1)" runat="server"  /><br/>
<asp:Image ID="imgID1" runat="Server" Style="display:none" />
IE7下上传图片时显示图片没问题,IE8显示图片就是个X了,请高手帮忙看下怎么解决,谢谢

解决方案 »

  1.   

    <head> 
    <!-- Use IE7 mode --> 
    <meta http-equiv="X-UA-Compatible" c /> 
    <title>我的网页</title> 
    </head> 
        这样,可强制所设计网页在IE7的模式下显示,解决了兼容性问题。 也有可能,ie改进了,其实图片是显示出来了,但是没有在屏幕范围之内,楼主可以设置适当的left,top试试
      

  2.   

    IE8下,img标签的src是无效的
    只能通过滤镜来解决
    <div><img/>
    </div>然后把div的DOM对象取出来
    div的DOM对象.filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = imgSrc;用了这种做法仍然无解的地方:
    由于IE8加强了安全性
    1.选择完 文件后,文件控件上可能会显示c:/fakepath/文件名。这样会使你的imgSrc取不到正确的path
    2.由于没有设置受信任的站点,所以滤镜无法显示。这两点都必须手动改客户端。所以让IE8在做这个效果的时候无解。
    除了IE8下,还有chrome也是一样。无法取得文件的真实path
      

  3.   

    按理你这个只能在ie6用
    ie7 8都是不行的要用滤镜
    具体可以参考这个图片预览效果
      

  4.   

    很早就拜读过cloudgamer的这篇文章,但是IE8上的c:/fakepath/和权限问题在文章中好像没有记载。
      

  5.   


    你没仔细看吧滤镜数据获取程序:this.file.select();
    try{
        return document.selection.createRange().text;
    } finally { document.selection.empty(); }
    一般用在ie7/8,在file控件select后再通过selection对象获得文件本地路径。
      

  6.   

    请在百度里用
    c:/fakepath/ IE8搜索。document.selection.createRange().text无法取得正确路径