本帖最后由 jy02409187 于 2011-12-15 15:02:21 编辑

解决方案 »

  1.   

    function uploadIMG(obj) {
            obj.select();
            var filepath = document.selection.createRange().text;
    }这个是ie获取图片路径的代码。
    <input id="upload_img" type="file" runat="server" onchange="uploadIMG(this)"/> 
      

  2.   

    这样好像没反应function uploadIMG(obj) {
            obj.select();
            var filepath = document.selection.createRange().text;
    alert(filepath)
    }
      

  3.   

    img的src填的是不是绝对地址?,我猜你写的不是绝对地址,,直接打开文件当然能打开,因为src的地址是相对文件目录建立的。而用http://localhost……打开,地址就不一样啦。
      

  4.   


    不是我写的地址,是用上传控件file上传图片,然后打印出上传之后的图片地址
      

  5.   

    先要上传到Web服务器项目指定目录中,之后才可以使用
      

  6.   


    HttpPostedFile postedFile = fuUpload.PostedFile;
     byte[] b1 = new byte[postedFile.InputStream.Length];
                postedFile.InputStream.Read(b1, 0, (Int32)postedFile.InputStream.Length);
    //b1就是你要的文档
      

  7.   

    一般都是后台来判断的,比如说像文件的大小好像就不能用js获取。
    而且如果用js获取还要判断是那种浏览器,IE跟FF获取文件的信息好像就不一样。
      

  8.   

    <input type="hidden" name="filePath">
    <input type="file" name="file" onchange="filePath.value=this.value;">
    <input type="button" value="test" onclick="alert(filePath.value);">IE8,没想到一个网站里面的上传图片时用JavaScript预览本地图片的功能失效了,图片总是显示错误,用alert()看了下图片的路径居然变成了C:\fakepath\*.jpg,真实的路径被C:\fakepath\取代了,于是在网上开始找解决方案。原来是因为IE8增加了安全选项,默认情况下不显示上传文件的真实路径,进入internet选项,修改下设置即可显示真实的文件路径。 
      以下就是操作步骤:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
    附带不用修改浏览器安全配置的javascript代码,兼容ie, firefox全系列function getPath(obj)  {    if(obj)      {       if (window.navigator.userAgent.indexOf("MSIE")>=1)        {          obj.select();         return document.selection.createRange().text;        }       else if(window.navigator.userAgent.indexOf("Firefox")>=1)        {        if(obj.files)          {           return obj.files.item(0).getAsDataURL();          }        return obj.value;        }      return obj.value;      }  }  参数obj为input file对象
      

  9.   


    我现在就是用PHP来判断的,但这样用户体现不好。
      

  10.   

    是安全机制没错的,浏览器处于安全考虑,把你的地址封装了,不管你这么上传都会有fakepath,你只能用绝对路劲了。    //获取上传控件的图片绝对地址
         function getPath(obj)
          {
            if (obj) {
               if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
                    obj.select();
                    return document.selection.createRange().text;
                    }
               else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                    if (obj.files) {
                       return obj.files.item(0).getAsDataURL();
                        }
                       return obj.value;
                    }
               return obj.value;
                }
            }
    以上是获取绝对路径的代码,另外,ie里面,图片地址用绝对路径是行不通的,必须用滤镜来解决,所以你获取到绝对路径后还需要判断一下,如果是火狐,直接把img 的src 赋值为你获取到的值,如果是ie则用滤镜。
      

  11.   


    在http://127.0.0.1 还是显示不了真实路径