HTML5文件和文件列表路径

时间:2010-06-30 20:37:46

标签: javascript html file html5

我想知道文件路径存储在HTML javascript中的File对象中。

我使用了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方法和确定类型和大小)?

1 个答案:

答案 0 :(得分:8)

您可以阅读WHATWG HTML spec

  

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

阅读MDC,我们可以看到Mozilla的File对象实现有一个名为mozFullPath的(非标准)属性,包含

  

[t]他引用的完整路径   文件;仅适用于代码   UniversalFileRead权限   铬。

该页面还回答了有关File对象中冗余数据的问题:不推荐使用属性fileNamefileSize。另请参阅W3C的File API Working Draft,其中没有提及。

回答问题的第二部分:

  

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

当然,在内部可以访问完整的文件路径(并且在向用户显示的几个浏览器中),但是在网页中运行的JavaScript脚本无法访问它。

顺便说一下,几年前在WHATWG mailing list上讨论过这个问题。