2010-06-30 64 views
7

我想知道文件路径存储在HTML JavaScript文件对象中的位置。HTML5文件和文件列表路径

我使用的Webkit DevTools和得到这个:

FileList 
0: File 
    fileName: "script.js" 
    fileSize: 71268 
    name: "script.js" 
    size: 71268 
    type: "application/x-javascript" 
    __proto__: File 
length: 1 
__proto__: FileList 

文件名,大小和类型有(人知道为什么名字和大小有2个变量),但路径并非如此。

有没有什么办法找到文件的路径,如果没有,浏览器和javascript如何读取文件(如POST方法&确定类型和大小)?

回答

8

正如可以在WHATWG HTML spec读,

并[f]或历史的原因,value IDL属性前缀的文件名 以字符串 “C:\ fakepath \”。一些 旧版用户代理实际上包含了 完整路径(这是安全漏洞) 。

阅读上​​,我们可以看到,Mozilla的执行文件对象有一个名为mozFullPath(非标)属性,包含

[T]引用 文件的他全路径;只可用 代码 chrome中的UniversalFileRead权限。

该页面还回答您的问题有关文件对象的冗余数据:性能fileNamefileSize已被弃用。也看看W3C的File API Working Draft,那里没有提到。

为了回答你问题的第二部分:

如果没有,如何在浏览器的JavaScript 读取文件(如POST 方法&确定的类型和大小 )?

当然,内部完整的文件路径可以访问(并在向用户显示多个浏览器),但它不能在网页上运行JavaScript脚本的访问。

顺便说一句,几年前有关于这个WHATWG mailing list的讨论。