使用ExtJs的FileUploadField.js上传文件时遭遇文件路径始终包含C:\fakepath字眼 如何获取真实文件路径

阅读更多
最近在使用ExtJS的FileUploadField上传文件时,无论选中任何盘下的文件显示的文件路径都是C:\fakepath\文件名称这样的形式,通过ExtJs的相应方法获取到的路径值也并非实际的文件路径。
  
 var fileName=importSampleFromExternalWindow.query('filefield[name=excelimport]')[0].getValue();

  通过查找资料,结果发现这个浏览器安全性导致的。
以下就是设置浏览器的操作步骤:
工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。
同时我们也可以采用js代码在程序中加以控制如下:  //附带不用修改浏览器安全配置的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对象

你可能感兴趣的:(使用ExtJs的FileUploadField.js上传文件时遭遇文件路径始终包含C:\fakepath字眼 如何获取真实文件路径)