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

javascript获取file控件全路径

阅读更多

firefox获取全路径的方式和原理:
document.getElementById('my-file').files方法用于获取到用户所选择的文件的集合,一般情况下都是选择单一文件(貌似FireFox这样做是支持多文件选择的,不过没有试过,读者可以自己去尝试),item数组可以得到其中的某一个文件,然后我们就可以使用 nsIDOMFile所提供的属性和方法了。它包括2个属性和3个方法:

fileName:用于获取到用户所选文件的名称,这和直接取value值所得到的结果一样。

fileSize:得到用户所选文件的大小。

getAsBinary():得到用户所选文件的二进制数据。

getAsDataURL():得到用户所选文件的路径,该路径被加密了,目前只能在FireFox中使用。

getAsText():得到用户所选文件的指定字符编码的文本。

  有一点需要说明,方法getAsDataURL()可以取得用户所选文件的本地路径,但是这个路径的字符串文本被FireFox加密了,并且这段密文只能被FireFox识别,其它的浏览器不能识别,也就是说我将被加密后的路径直接赋值给一个img标签的src属性,在FireFox中是可以直接显示出图片的,而在IE中却不行。

 

<html>
    <head>
        <title>get file input full pathtitle>
    <script language='javascript'>
        function getFullPath(obj)
        {
            if(obj)
            {
                if (window.navigator.userAgent.indexOf("MSIE")>=1)    //ie
                {
                    obj.select();
                    return document.selection.createRange().text;
                }
                else if(window.navigator.userAgent.indexOf("Firefox")>=1)             //firefox
                {
                    if(obj.files)
                    {
                        return obj.files.item(0).getAsDataURL();
                    }
                    return obj.value;
                }
                return obj.value;
            }
        }
    </script> 
    <head>
    <body>
        <input type="file" onchange="document.getElementById('img').src=getFullPath(this);" />
    <img id="img" />
    </body>
</html>

 

分享到:
评论

相关推荐

    .net50个常用方法简单华丽的分页控件功能大的分页控件 50个实用方法

    ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出...

    js 获取、清空input type=file的值(示例代码)

    )用于在客户端浏览并上传文件,用户选取的路径可以由value属性获取,但value属性是只读的,不能通过 javascript来赋值,这就使得不能通过value=””语句来清空它。很容易理解为什么只读,如果可以随意赋值的话,...

    net实用类50超级实用方法赠分页分页控件强大的分页

    ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出要...

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

    在HTML表单中,可以上传文件的唯一控件就是&lt;input type=”file”&gt;。 注意:当一个表单包含&lt;input type=”file”&gt;...当用户选择了上传某个文件后,JavaScript也无法获得该文件的真实路径: 通常,

    ASP.NET2.0高级编程(第4版)1/6

    22.1.4 使用路径753 22.1.5 文件和目录的属性、  特性和访问控制列表757 22.2 读写文件764 22.2.1 流764 22.2.2 Reader和Writer769 22.2.3 压缩流773 22.3 处理串行端口779 22.4 网络通信779 22.4.1 WebRequest和 ...

    net实用类50个常用方法升级版分页

    ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出要...

    大名鼎鼎SWFUpload- Flash+JS 上传

     SWFUpload是一个客户端文件上传工具,最初由Vinterwebb.se开发,它通过整合Flash与JavaScript技术为WEB开发者提供了一个具有丰富功能继而超越传统&lt;input type="file" /&gt;标签的文件上传模式。 [编辑本段]SWFUpload...

    ASP.NET4高级程序设计(第4版) 3/3

    12.1.1 Directory类和File类 400 12.1.2 DirectoryInfo类和FileInfo类 402 12.1.3 DriveInfo类 404 12.1.4 使用Attributes 405 12.1.5 使用通配符过滤文件 407 12.1.6 获取文件的版本信息 407 12.1.7 ...

    2.ASP.NET.2.0.高级编程(第4版) [1/7]

    4.4 通过JavaScript处理页面和服务器控件 98 4.4.1 使用Page.ClientScript.RegisterClient ScriptBlock 100 4.4.2 使用Page.ClientScript.Register StartupScript 101 4.4.3 使用Page.ClientScript....

    ui5-cc-md:ui5自定义控件将github风格的markdown渲染为html

    UI5自定义控件ui5-cc-md 这个名称空间包含一个自定义控件...fromFile: &lt;Path&gt; :包含Markdwon的文件的相对路径 汇总:- 用法 在$yourapp/package.json定义依赖项 // it is already in " dependencies " after installa

    ASP.NET4高级程序设计第4版 带目录PDF 分卷压缩包 part1

    12.1.1 Directory类和File类 12.1.2 DirectoryInfo类和FileInfo类 12.1.3 DriveInfo类 12.1.4 使用Attributes 12.1.5 使用通配符过滤文件 12.1.6 获取文件的版本信息 12.1.7 Path类 12.1.8 文件...

    net实用类50超级实用方法赠分页

    ///FileSize()获取上传文件大小 ///FileUpload()文件上传 路径upload/ 自动重命名 ///FileDownload()文件下载 调用方法如 FileDownload(Response,Server,文件虚拟路径) ///FileTxtWrite()写入TXT文本 给出要...

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

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

    asp.net知识库

    XPath中相对路径和绝对路径 XPath 简单语法 Asp.Net(C#)利用XPath解析XML文档示例 XSL .Net框架下的XSLT转换技术简介 一个XSLT的简单例子 XSLXSLT板主题整理 xsl入门的好文章 新手学习XSL的好东西 XSL语法介绍 XSL...

    脚本魔术师

    增加Cjpeg 的 GetBytes 函数,可以对图片数据动态获取 2.增加了 clsStringArray 的Byte数组管理功能,可插入字节、字节集,查找字节,得到或设置字节集等功能 3.增加了 网络服务器和客户端的 Connection ...

    亮剑.NET深入体验与实战精要2

    4.3 获取应用程序路径信息 174 4.4 回车跳转控件焦点 175 4.5 窗体间传递复杂数据 176 4.5.1 构造传递 176 4.5.2 公有字段传递 177 4.5.3 委托与事件传递 179 4.6 实现个性化窗体界面 181 4.7 无标题窗体拖动的两种...

    亮剑.NET深入体验与实战精要3

    4.3 获取应用程序路径信息 174 4.4 回车跳转控件焦点 175 4.5 窗体间传递复杂数据 176 4.5.1 构造传递 176 4.5.2 公有字段传递 177 4.5.3 委托与事件传递 179 4.6 实现个性化窗体界面 181 4.7 无标题窗体拖动的两种...

    改名“脚本魔术师”

    增加了Zlib压缩解压缩支持库,并在 EncryptFile.sps 示例中增加了演示 虚拟机会检查 System 路径和程序路径下是否存在Zlib.dll文件 如果不存在,程序会在 System32 路径下释放此文件 (Zlib.Dll是...

Global site tag (gtag.js) - Google Analytics