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

在不同浏览器中获取File Input的路径

阅读更多

<!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>

分享到:
评论

相关推荐

    JS获取input file绝对路径的方法(推荐)

    最近因需要上传文件到oracle blob里, 在获取文件路径的遇到些问题,由于安全原因,新版的浏览器都不支持直接获取本地URL,在网上找了些方法,如下: [removed] //FX获取文件路径方法 function readFileFirefox...

    文件上传input file简便美化方案(css)

    选择文件后(以ff为例,不用浏览器显示的路径不同): html代码: 复制代码代码如下: &lt;form id=”UploadForm” method=”post” enctype=”multipart/form-data”&gt; ”file-uploader-wrap”&gt; &lt;input type=...

    js如何获取file控件的完整路径具体实现代码

    今天做一个项目,需要隐藏input file然后获取它的值,但连jquery都无法获取它的值 代码如下: [removed] //FX获取文件路径方法 function readFileFirefox(fileBrowser) { try { netscape.security.PrivilegeManager....

    input file自定义按钮美化(演示)

    关键是给file文件域给了font-size,设置一个比较大的值,使其表单大写发生改变(各浏览器外观不同,但大写都改变了)如下图: input{font-size:100px;} 再用position定位,和透明度达到自己想要的效果。具体代码如下...

    大名鼎鼎SWFUpload- Flash+JS 上传

    它结合了FLASH和JavaScript的功能,以提供一种超越了传统的浏览器中&lt;input type="file" /&gt;标签提供的文件上传功能。 SWFUpload提供的主要功能: 在文件选择对话框中能够进行文件多选 页面无刷新的上传 提供...

    用js来获取上传的文件名纯粹是为了美化而用

    所以要区别对待,在firefox下 lastIndexOf(‘/’)得到的是-1,而在ie下,目录显示的又是反斜杠,\,当然在Linux 下,其他浏览器获取到的又是正斜杠 / ( 暂时未证明有Linux下有浏览器file获取到的值会是全路径);...

    jsp文件上传下载通用包

    如果在表单中使用表单元素 &lt;input type=“file” /&gt;,浏览器在解析表单时,会自动生成一个输入框和一个按钮,输入框可供用户填写本地文件的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件: ...

    chrome上传图片

    解决chrome浏览器下使用&lt;input type="file" /&gt;控件上传文件时出现C:\fakepath\xx路径问题,例子下载下来可以直接使用

    html5 canvas移动浏览器上实现图片压缩上传

    最近在移动端设计头像上传功能时,原本是以&...此处的难点在于:由于浏览器的保护机制,无法直接获取到本地文件的图片路径,所以需要将本地图片编译成base64格式再做上传,代码如下: JavaScript Code复制内容到剪贴板

    AspUpload.zip

    如果我们的表单只含有一个文件输入框,如:&lt;INPUT TYPE=FILE NAME="ONLYFILE"&gt;,那么就用不着使用for-each语句,我们可以简单这么写: Response.Write Upload.Files("ONLYFILE").Path 或者更通常的可以用 Response....

    HTML5 文件上传下载的实例代码

    HTML 中的 input[type=file] 标签有个 multiple 属性,允许用户选择多个文件,FileList对象则就是表示用户选择的文件列表。这个列表中的每一个文件,就是一个 file 对象。 file 对象的属性: name : 文件名,不...

    javascriptServer

    4. 在 jss 中的文件路径需从根目录的位置写起,如:import "web/lib/xxx.js"; 应用限制: 1. 最大文件上传容量为20M。 2. 最大连接数为20个节点。 应用环境: 1. 仅支持 Windows 系统操作系统,版本在 ...

    中文分词工具word-1.0,Java实现的中文分词组件多种基于词典的分词算法

    4、启动ElasticSearch测试效果,在Chrome浏览器中访问: http://localhost:9200/_analyze?analyzer=word&text=杨尚川是APDPlat应用级产品开发平台的作者 5、自定义配置 将word.local.conf复制到elasticsearch-...

    JavaScript操作文件_动力节点Java学院整理

    在HTML表单中,可以上传文件的唯一控件就是&lt;input type=”file”&gt;。 注意:当一个表单包含&lt;input type=”file”&gt;时,表单的enctype必须指定为multipart/form-data,method必须指定为post,浏览器才能...

    css笔记课程笔记2019,5,22

    (3)在style标签里面 使用语句(在某些浏览器下不起作用) @import url(css文件的路径); - 第一步,创建一个css文件 &lt;style type="text/css"&gt; @import url(div.css); &lt;/style&gt; (4)使用头...

    creationalPatterns:这是一个基于工厂方法,抽象工厂和单例的设计模式概念的Java项目

    (我已经在存在此指令文件的同一文件夹中的InputFile文件夹中提供了示例输入json和xml文件。) 项目中没有隐式给出任何输入文件。 因此,用户必须在输入文件文本字段中添加输入文件路径。 输入的文件类型和“选定...

    html入门到放弃笔记

    1、编写一对 body 标记,在body标记中,嵌套一对 div标记,在 div 标记中 ,嵌套一对 a 标记,在 a标记中,嵌套一对 b 标记,b标记中,随意编写一些文本 &lt;body&gt; 这是一段测试文本 &lt;/body&gt; ...

    如何将一个TXT文档里内容导入到文本框里

    //获取文件浏览控件中选择的文件路径 var filesname=document.form1.FileName.value; if (filesname=="") { alert("请先选择要导入的txt文件!"); document.form1.FileName.focus(); return false; } //...

    从入门到精通HTML5——PDF——网盘链接

     15.1.2 使用blob接口获取文件的类型与大小 282  15.1.3 通过类型过滤选择的文件 283  15.2 使用FileReader接口读取文件 285  15.2.1 检测浏览器是否支持FileReader接口 285  15.2.2 FileReader接口的方法 ...

    day019-io笔记和代码.rar

    IO流: Input Output 输入输出流 自己去扩展: 1. 对象序列化和反序列化生成一个 2. 流的种类: io包下 扩展nio包下 1. IO分类: 输入流 输出流 字节流 InputStream(抽象类) ...

Global site tag (gtag.js) - Google Analytics