File对象中webkitRelativePath属性的用途是什么?

jay*_*rjo 11 console html5 dom webkit fileapi

如果您使用以下简单的内容在Chrome控制台中打印出File对象:

<input type="file" onchange="console.info(this.files);" />
Run Code Online (Sandbox Code Playgroud)

您将在其他属性中看到一个始终为空的webkitRelativePath属性:

fileName: "07.png"
fileSize: 33022
lastModifiedDate: Date
name: "07.png"
size: 33022
type: "image/png"
webkitRelativePath: ""
__proto__: File
Run Code Online (Sandbox Code Playgroud)

它的目的是什么?它是如何被利用的?

ebi*_*del 23

webkitdirectory在文件输入上使用属性时填充:

<input type="file" webkitdirectory>
Run Code Online (Sandbox Code Playgroud)

它只适用于Chrome.这允许用户选择文件夹而不是文件,并且递归地读取每个文件.在webkitRelativePath包含层次结构中的文件的相对路径.

有一个演示这里.

  • 并非如此,它仅适用于Chrome。它也在FF中。请参阅浏览器兼容性:https://developer.mozilla.org/zh-CN/docs/Web/API/File/webkitRelativePath (2认同)