fileupload上传 and IE8 and VS2008 实现图片预览[new Name:经典的Fakepath错误]

[new Name:经典的Fakepath错误]
FileUpload控件上传文件控件取本地路径显示为C:\fakepath
MD 就是因为这个问题搞得我一晚上,每做多少事情,终于在GG的强大搜索下,被我 
'法科' 了!
    
<form id="form1" runat="server">
        
<div>
            
<asp:FileUpload ID="FileUpload1" onchange="CheckFileUp(this)" runat="server" />          
            
            
<asp:HiddenField ID="hiddenUp" runat="server" />
            
<br />
            
<br />
            
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div>
    
</form>
 转载请注明 http://netsos.cnblogs.com/
<script type="text/javascript">
    
  function CheckFileUp(FileUpload)
  {  
    var mime
=FileUpload.value;
    mime
=mime.toLowerCase().substr(mime.lastIndexOf("."));
    
if(!(mime==".xls"))//mime==".xls" || mime==".gif" || mime==".bmp"
    {
        alert(
"aaaa");//仅支持JPG/GIF/BMP格式 
        var e=document.getElementById("FileUpload1");
        e.outerHTML
=e.outerHTML;
    }
    
else
    {
        document.getElementById(
"hiddenUp").value=FileUpload.value;
        alert(document.getElementById(
"hiddenUp").value)
    }
  }
    
</script>


以上是页面,在上传文件路径时总显示C:\fakepath\
*.jpg文件啦,总之前面全替换成C:\fakepath,

[处理办法]

首先IE8,他比较的严格,没想到一个网站里面的上传图片时用JavaScript预览本地图片的功能失效了,图片总是显示错误,用alert()看了下图片的路径居然变成了C:\fakepath\
*.jpg,真实的路径被C:\fakepath\取代了,于是在网上开始找解决方案。
原来是因为IE8增加了安全选项,
默认情况下不显示上传文件的真实路径,
进入internet选项,修改下设置即可显示真实的文件路径。

以下就是操作步骤:
工具 
-> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
 转载请注明 http://netsos.cnblogs.com/

 

 [new Name:经典的Fakepath错误] 转载请注明 http://netsos.cnblogs.com/

posted @ 2010-06-09 09:19  hevily  Views(2124)  Comments(0Edit  收藏  举报