我想知道文件路径存储在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方法和确定类型和大小)?
答案 0 :(得分:8)
您可以阅读WHATWG HTML spec,
[f]或历史原因,value IDL属性是文件名的前缀 使用字符串“C:\ fakepath \”。一些 实际包含旧版用户代理 完整的路径(这是一个安全 漏洞)。
阅读MDC,我们可以看到Mozilla的File对象实现有一个名为mozFullPath
的(非标准)属性,包含
[t]他引用的完整路径 文件;仅适用于代码 UniversalFileRead权限 铬。
该页面还回答了有关File对象中冗余数据的问题:不推荐使用属性fileName
和fileSize
。另请参阅W3C的File API Working Draft,其中没有提及。
回答问题的第二部分:
如果没有,浏览器和 JavaScript读取文件(例如POST) 方法和确定类型和 大小)?
当然,在内部可以访问完整的文件路径(并且在向用户显示的几个浏览器中),但是在网页中运行的JavaScript脚本无法访问它。
顺便说一下,几年前在WHATWG mailing list上讨论过这个问题。