`

关于firefox获取不到的file的完整的路径解决方案

阅读更多

相信很多人都运用 过<input type="file"/> 这样的HTML控件,它看起来非常普通,是我们在做Web运用 程序中用于上传客户端本地文件时不可缺少的控件,然而最近我发觉 这个控件在最新的FireFox阅读 器(或者最新的IE8中也会存在这个疑问 ,我没有尝试过,读者可以试一下)中却失去了效果,导致我们在通过这个控件的value属性得到的值中只包含了文件名而没有文件路径,这个在IE7 中是可以正常获取到全文件名的(即文件完整路径+文件名)。在IE中我们可以直接通过request.getParamter("file");就 ok 了。可是在firefox 中不行,它认为这是不安全的。

 

下面的这一个html可以帮助我们解决在firefox中获取不到file的路径的问题 :

<html>  
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <title>Untitled Page</title>
     <script type="text/javascript">  
      function readFile(fileBrowser) {  
       if (navigator.userAgent.indexOf("MSIE")!=-1) {
            readFileIE(fileBrowser);  
       } else if (navigator.userAgent.indexOf("Firefox")!=-1 || navigator.userAgent.indexOf("Mozilla")!=-1)    {
         readFileFirefox(fileBrowser);  
       } else { 
         return;  
     }
      }
    
     function readFileFirefox(fileBrowser) {  
       try {           
        netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
       } catch (e) {
        return;     
       }
       var fileName=fileBrowser.value;  
     alert(fileName);
    }
   </script>
   </head>  
 <body>  
      <form name="form1">  
      Browse to select a file 
      <input type="file" name="fileBrowser" size="125" onchange="readFile(this)" />  
     </form>  
 </body>  
 </html>

  IE中那个方法我给删掉了。在IE中直接获取就行了。希望能帮助大家。

分享到:
评论

相关推荐

    解决ajaxfileupload.js在IE9,firefox下文件超大无效

    #### 解决方案 为了解决这一问题,我们需要对服务器端的响应类型做一些调整。具体来说,可以通过设置HTTP响应的`Content-Type`为"text/html"来规避这个问题。以下是一段示例代码: ```java public String execute...

    javascript 火狐(firefox)不显示本地图片问题解决

    标题所提到的“javascript 火狐(firefox)不显示本地图片问题”是由于Firefox浏览器对本地文件路径的处理方式与Chrome、Safari或IE等其他浏览器有所不同。在Firefox中,直接使用JavaScript设置`&lt;img&gt;`标签的`src`属性...

    IE8上传文件时javascript取文件的真实路径的问题(\"C:\\fakepath\\xxxxx )

    4. **升级浏览器**:鼓励用户升级到更现代的浏览器,如Chrome、Firefox或Edge,它们提供了更好的API和安全机制,不再返回虚假路径。 5. **使用Flash或ActiveX控件**:如果必须在IE8上获取真实路径,可以考虑使用...

    javascript获取浏览器临时目录

    - 上述方法主要适用于旧版IE浏览器,现代浏览器(如Chrome、Firefox等)出于安全考虑,通常不允许此类操作。 - 使用ActiveX Objects和注册表读取可能会导致安全隐患,因此在生产环境中应谨慎使用。 - 对于现代Web...

    解析使用JS 清空File控件的路径值

    通过获取到File控件的DOM元素,然后重新赋值其outerHTML属性,可以实现清空File控件的路径值。但这种方法只在Internet Explorer浏览器中有效,不适用于其他浏览器。 第三种方法是为了兼容Firefox浏览器而考虑的。在...

    IE6,Ie7,ie8 ,和火狐下的图片上传预览 解决方案

    首先,IE6、IE7和IE8是微软Internet Explorer的早期版本,它们对于现代Web标准的支持非常有限,而火狐(Firefox)作为一款开源浏览器,虽然对新特性支持较好,但在旧版本中也可能存在一些差异。图片上传预览功能允许...

    getAsDataURL在Firefox7.0下无法预览本地图片的解决方法

    本文将深入探讨这个问题的原因,并提供解决方案。 首先,`getAsDataURL()`是`FileReader`接口的一个方法,它允许读取文件(或Blob对象)的内容并将其转换为一个`data:` URL,这个URL可以直接插入到`&lt;img&gt;`标签的`...

    不同浏览器之间路径问题Demo

    5. **解决方案**: - 使用绝对URL而不是相对URL,以减少路径解析问题。 - 使用服务器托管资源,避免直接引用本地文件路径。 - 利用现代JavaScript库或框架(如jQuery、React等)提供的API来处理路径,这些库通常...

    图片上传 预览 兼容 IE firefox

    2. **Firefox及其他现代浏览器的解决方案:FileReader API** - 使用HTML5的`&lt;input type="file"&gt;`元素,添加`change`事件监听器。当用户选择文件后,通过`event.target.files[0]`获取File对象,然后使用`FileReader...

    IE(6,7,8)与FireFox兼容的打开关闭窗口脚本

    本文将深入探讨如何为IE(6、7、8)和Firefox编写兼容的打开、关闭窗口的JavaScript脚本,以帮助开发者解决跨浏览器的兼容性问题。 首先,我们需要理解IE和Firefox对JavaScript的处理方式有所不同。Internet ...

    javascript文件夹选择框的两种解决方案.rar

    然而,这种方法的局限性在于它不被所有浏览器支持,尤其是Firefox和Internet Explorer。 **解决方案二:使用`FileReader API`和`DirectoryEntry API`(已废弃)** 另一种方法是结合`FileReader API`和`...

    JS 读取Excel文件(xls) 兼容Chrome/IE/Firefox

    因此,我们需要一种跨浏览器的解决方案。 1. **FileReader API**: - 使用`&lt;input type="file"&gt;`创建一个文件选择器,用户可以选择本地的Excel文件。 - 当文件选择后,通过`change`事件获取选中的文件对象。 - ...

    input file上传文件样式支持html5的浏览器解决方案

    本文将深入探讨两个关键问题及其解决方案,这些问题分别是:在Firefox下无法通过CSS改变File上传控件的width,以及在不同浏览器中File上传控件的外观和行为不一致。 首先,让我们关注第一个问题:在Firefox下,File...

    js上传前预览图片,兼容IE,firefox,google

    但是,IE浏览器,尤其是较低版本,可能不完全支持这些API,因此我们需要找到一种兼容性解决方案。 1. **FileReader接口**:这是实现预览的关键。`FileReader`对象提供了读取文件的方法,如`readAsDataURL()`,它...

    ie、360、火狐等浏览器用js导出Excel

    对于非IE浏览器,如Firefox、Chrome、Safari、360等,它们不支持ActiveXObject。我们可以使用Blob对象和URL.createObjectURL方法创建一个临时的文件URL,然后创建一个`&lt;a&gt;`标签指向这个URL,模拟点击下载。同时,...

    使用jQuery清空file文件域的解决方案

    由于IE不允许直接清空,一个可行的解决方案是复制含有文件域的input元素,并移除原始元素。在这个过程中,新复制的元素不会包含任何原始的值或文件数据,因此达到了清空文件域的目的。 在其他浏览器,如Firefox中,...

    JS获取当前脚本文件的绝对路径

    首先,我们可以看到在Chrome和Firefox这样的现代浏览器中,获取当前脚本文件的绝对路径非常简单。只需使用`document.currentScript`对象,它会返回当前执行的`&lt;script&gt;`元素,然后我们只需要读取`src`属性即可得到...

    jQuery-File-Upload-9.9.2.zip

    jQuery File Upload 9.9.2是一款优秀的JavaScript插件,它为开发者提供了高效、易用且功能丰富的文件上传解决方案。这款插件以其高度的兼容性、多文件选择与拖放上传的特性,以及用户友好的预览和进度反馈机制,深受...

    jQuery-File-Upload-master

    jQuery File Upload,顾名思义,是基于jQuery的一个文件上传解决方案。它支持多文件选择、进度条显示、预览、取消上传等高级功能,同时也兼容各种现代浏览器,包括Chrome、Firefox、Safari、Opera和IE9及以上版本。...

    Python3+selenium配置常见报错解决方案

    这通常是因为Firefox的安装路径不在系统环境变量`PATH`中。 **解决方案:** 1. **确定 Firefox 的安装路径:** - 查找`firefox.exe`文件的实际位置,通常位于`C:\Program Files\Mozilla Firefox\`或`C:\Program ...

Global site tag (gtag.js) - Google Analytics