webkitRelativePath文件夹级别

时间:2016-02-29 19:40:20

标签: javascript html google-chrome webkit

我在哪里可以找到webkitRelativePath属性可以拥有的最大文件夹级别数的信息?

我有这个:

<input type="file" multiple webkitdirectory id="fileURL" />

我在image.jpg folder6内添加了文件c:\folder1\folder2\folder3\folder4\folder5\folder6\image.jpg 但是当我在遍历folder6中的所有文件时调试并在for循环中设置断点时,File.webkitRelativePath仅返回最后两个文件夹"folder5/folder6/image.jpg"

var files,
    file,
    extension,
    input = document.getElementById("fileURL"),
    output = document.getElementById("fileOutput"),
    holder = document.getElementById("fileHolder");

input.addEventListener("change", function (e) {
    files = e.target.files;
    output.innerHTML = "";

    for (var i = 0, len = files.length; i < len; i++) {
        file = files[i];
        extension = file.name.split(".").pop();
        output.innerHTML += "<li class='type-" + extension + "'>" + file.webkitRelativePath + " (" + Math.floor(file.size / 1024 * 100) / 100 + "KB)</li>";
    }
}, false);

1 个答案:

答案 0 :(得分:0)

无法使用input type="file"元素检索用户文件系统的完整路径。

  • 您可以将所有文件打包成一个带有“标题”文档的JSON文件,例如JSON,描述要重新组合的文件夹结构,解析为Blob或.just JSON

  • 尝试将“根文件夹”重组为包含多个文件的data URI表示的单个文件;使用包含描述的“标题”,例如,在JSON中,如何重新组合文件结构;例如,参见HTML5 Javascript how to create a gallery photo with all file in a folder

  • 在现有文件夹的第一个文件中包含说明;解析第一个文件,或关于如何重新组合文件夹的文件结构的特定文件名

  • 另一种选择是将accept="application/zip"属性替换为multipledirectory属性;将文件夹另存为.zip,解压后应保留文件夹结构

另见Exploring the FileSystem APIs