`
alvinqq
  • 浏览: 185864 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

多浏览器中上传文件的路径

阅读更多
<!doctype html public "-//w3c//dtd html 4.01//en" "http://www.w3.org/tr/html4/strict.dtd">
<html>
<head>
<title>File Input</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<style>
body{font-size:13px;}
.box{border:1px solid #eee;background:#ffe;padding:10px 30px;margin:10px;}
dt{font-weight:bold;}
dt,img,textarea{margin:8px 0;}
em{color:#f00; font-style:normal;}
span{color:#999;}
.ft{color:#999;font-size:11px;text-align:right}
</style>
</head>
<body>
<h2>在不同浏览器中获取File Input的value</h2>
<div class="box">
    <input type="file" name="foo" id="foo" size="60" />
    <input type="button" value="Show Value" onclick="alert(document.getElementById('foo').value)" />
    <input type="button" value="Show Value in FF3" onclick="alert(getValueFF('foo'))" />
    <input type="button" value="Show Value in IE8" onclick="alert(getValueIE8('foo'))" />
</div>
<div class="box">
    <dl>
        <dt>Firefox 2.x, IE6, IE7</dt>
        <dd>在本地及远端都可以取得完整地址(包括路径及文件名)</dd>
    </dl>
    <dl>
        <dt>Firefox 3.0</dt>
        <dd>在本地及远端都<em>不能</em>取得完整地址,只能获得文件名</dd>
    </dl>
    <dl>
        <dt>IE8, IE7(IE8模拟)</dt>
        <dd>在本地可以取得完整地址(包括路径及文件名),在远端<em>不能</em>取得完整地址,只能获得文件名</dd>
    </dl>
    <span>* 本地:localhost</span>
</div>
<div class="box">
    <h3>如何在Firefox3下取得完整路径</h3>
    <p>
         第一步:打开“about:config”页面,查找“signed.applets.codebase_principal_support”属性,将其值设置为true。
    </p>
    <p>
         第二步:在javascript中采用以下代码进行获取:<br />
        <textarea style="width:800px;height:300px;">
function getValueFF(id){
    var ip = document.getElementById(id);
    if (ip.files) {
        //ffx3 - try to have access to full path
        try {
            netscape.security.PrivilegeManager.enablePrivilege( 'UniversalFileRead' )
        }
        catch (err) {
            //need to set signed.applets.codebase_principal_support to true
        }
    };
    return ip.value;
}
        </textarea>
    </p>
    <p>
        经过以上步骤,在Firefox3下获取file input的value时,会弹出一個Internet Security的对话框,点击“Allow”将可以获取完整value。<br />
       <span>资料:<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=143220" target="_blank" >https://bugzilla.mozilla.org/show_bug.cgi?id=143220</a></span>
    </p>
</div>
<div class="box">
    <h3>如何在IE8下取得完整路径</h3>
    <p>方法一:使用selection.createRange <br />
        <textarea style="width:800px;height:150px;">
function getValueIE8(id){
    var ip = document.getElementById(id);
    ip.select();
    return document.selection.createRange().text;
}
        </textarea>
    </p>
    <p>方法二:引用:<a href="https://bugzilla.mozilla.org/attachment.cgi?id=328849" target="_blank" >https://bugzilla.mozilla.org/attachment.cgi?id=328849</a></p>
</div>
<script language="JavaScript">
    
    function getValueFF(id){
        var ip = document.getElementById(id);
        if (ip.files) {
            //ffx3 - try to have access to full path
            try {
                netscape.security.PrivilegeManager.enablePrivilege( 'UniversalFileRead' )
            }
            catch (err) {
                //need to set signed.applets.codebase_principal_support to true
            }
        };
        return ip.value;
    }
    function getValueIE8(id){
        var ip = document.getElementById(id);
        ip.select();
        return document.selection.createRange().text;
    }
</script>
</body>
</html>
分享到:
评论

相关推荐

    web页面多选上传文件的实现(浏览器-打开文件-可选多个文件来上传).源代码

    本教程将探讨如何在网页中实现多选文件上传,基于提供的"web页面多选上传文件的实现(浏览器-打开文件-可选多个文件来上传).源代码",主要涉及HTML5的`&lt;input type="file"&gt;`元素的新特性以及PHP后端处理。 首先,...

    js弹出窗口 + 获取上传文件全路径

    本文将深入探讨"js弹出窗口 + 获取上传文件全路径"这一主题,这两个知识点是JavaScript在交互式用户界面设计中的关键部分。 首先,让我们来讨论"js弹出窗口"。在网页开发中,弹出窗口通常用于显示警告信息、确认...

    拖拽-获取文件路径.

    拖拽获取文件路径这一功能在很多场景下都非常实用,比如文件管理软件、图片编辑工具、云存储服务的上传功能,甚至是简单的文本编辑器中的导入功能。理解并掌握这一技术,能提升应用的用户友好性和效率。因此,无论是...

    文件拖拽到浏览器(activex与js交互)

    4. **处理拖放事件**:当文件被拖放到浏览器区域时,ActiveX控件捕获文件信息,通过`dropFiles`方法将文件路径或二进制数据传递给JavaScript。JavaScript端接收到数据后,可以进一步处理,如使用XMLHttpRequest或者...

    UiPath下载到指定文件夹.docx

    在 Download File 活动中,我们需要输入指定文件路径,以便 UiPath 知道将文件下载到哪里。在这里,我们可以输入文件夹路径和文件名,以确保文件被正确地下载到指定文件夹中。 六、点击保存 最后一步,我们需要...

    fckeditor上传文件绝对路径设置方法

    以下是将FCKEditor的上传文件路径设置为绝对路径的详细步骤: 1. **创建自定义路径构建器类**: 在这里,我们创建了一个名为`MyContextPathBuilder`的Java类,它继承自`ServerRootPathBuilder`。这个类是FCKEditor...

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

    在IE8中,当用户通过`&lt;input type="file"&gt;`标签选择一个文件后,使用JavaScript的`File`对象或`HTML5`的`FileReader` API尝试访问文件路径时,浏览器并不会返回实际的文件系统路径,而是返回一个虚构的"C:\fakepath...

    取得input要素的文件路径

    本文将详细讲解如何从这样的输入元素获取文件路径,以及在Firefox开发中这一过程的变化。 首先,我们要了解`&lt;input type="file"&gt;`元素的基本用法。这是一个HTML元素,用于创建一个文件选择器,用户可以通过它选取...

    在页面用js调用后台方法,打开doc文件到浏览器

    - **文件路径安全**:避免直接使用前端传递的文件名,防止路径遍历攻击。 - **内容过滤**:如果允许用户上传.doc文件,应检查文件内容,防止恶意代码注入。 - **HTTP头部设置**:如设置`Content-Disposition`为`...

    jsp获取文件完整路径

    可以获取文件完整路径,不过要求环境是在windows下的google浏览器,应为不同浏览器,不同操作系统下获取文件路径方法不同,我没有找到通用的方法,因为浏览器处于安全考虑本身就禁止访问本地中的文件系统。

    js判断上传文件的大小(兼容火狐、谷歌、IE、360浏览器)

    然而,在旧版本的IE浏览器中,需要采用不同的方法来获取文件路径,并利用`ActiveXObject`来读取文件大小。 #### 三、代码实现 下面是一个完整的示例代码,演示了如何实现上述功能: ```javascript // 检测是否...

    免费大文件HTTP上传组件

    3、支持大文件上传, 一次可以上传多个文件. 上传时有详细的状态显示(包括单个文件进度,整体进度,传输速率,剩余时间等) 4、提供接口全面. 可以动态设置上传保存路径, 设置允许扩展名, 允许最大大小等 5、支持...

    通过浏览器向Linux服务器上传文件(由http通过CGI处理)的c程序

    在IT行业中,将文件从浏览器上传到Linux服务器是一项常见的任务,尤其在开发Web应用程序时。本文将详细讲解如何通过HTML创建一个文件上传界面,并利用C语言编写CGI(Common Gateway Interface)程序,让Linux服务器...

    JSP同时选择多文件上传MultifileUploadDemo

    在多文件上传的场景中,JSP主要负责接收和处理来自客户端的文件上传请求。 在"MultifileUploadDemo"中,我们利用了Flash作为前端的上传组件。Flash因其支持多媒体和交互性而被广泛用于创建丰富的互联网应用程序。在...

    C# CS、BS获取文件路径

    因此,获取文件路径的方式有所不同,通常涉及文件上传。 1. **HTML5 File API**:通过HTML表单的`&lt;input type="file"&gt;`元素,用户可以选择文件,但只能获取文件本身,无法直接获取完整路径。可以通过`FileReader` ...

    cesium动画路径文件json格式

    在3D地理信息系统领域,Cesium是一个非常强大的开源JavaScript库,它允许开发人员在Web浏览器中创建交互式的、全球范围的3D地球场景。而"cesium动画路径文件json格式"则是Cesium用来描述物体在三维空间中运动轨迹的...

    php实现文件上传并返回获得上传后文件名

    在这个脚本中,我们首先定义了目标文件夹`$target_dir`和目标文件路径`$target_file`。然后,我们检查文件类型、文件大小以及文件是否已存在于服务器上。如果所有检查都通过,我们将临时文件(`$_FILES["fileTo...

    将文件上传、下载(以二进制流保存到数据库)实现代码

    - 获取文件路径,使用Server.MapPath方法将虚拟路径转换为服务器上的实际路径。 - 使用System.IO命名空间中的File.ReadAllBytes方法读取文件到二进制数组中。 - 建立数据库连接,创建SQL命令对象,将二进制数组作为...

    ie7/ie8获取上传文件的绝对路径源代码

    在探讨如何在IE7与IE8浏览器中获取上传文件的绝对路径之前,我们先来了解一下为何这成为了一个问题。Internet Explorer 7 和 IE8 是早期的网页浏览器版本,它们在处理DOM(文档对象模型)和JavaScript的方式上存在...

Global site tag (gtag.js) - Google Analytics