使用Javascript返回文件夹+文件

Return folders + files using Javascript

本文关键字:文件 文件夹 返回 Javascript 使用      更新时间:2023-09-26

我想让这个javascript代码(由Esailija制作)也写文件夹

http://jsfiddle.net/JwgqC/

目前只显示文件,不显示文件夹..文件夹显示为点。

这是我的mod

http://jsfiddle.net/JwgqC/46/

function selectFolder(e) {
    var theFiles = e.target.files;
    for (var i=0, file; file=theFiles[i]; i++) {
    document.body.innerHTML+="<li>" + file.webkitRelativePath;
    }
}
document.querySelector("input").onchange = function() {
    [].slice.call( this.files ).forEach( function(selectFolder) {
          $("body").append("<div>"+v.name+"</div>" );
    });        
};

但是我无法显示文件夹…介意告诉我哪部分不对吗?

我的背景不是编程,所以对我来说有点困难

谢谢

如果您想只显示文件夹:http://jsfiddle.net/F6yEW/

function isFolder(x) {
    if (x.name == "." && x.type == "") {
        return true;
    } else {
        return false;
    }
}
document.querySelector("input").onchange = function () {
    [].slice.call(this.files).forEach(function (v) {
        var folderName = "";
        var path = v.webkitRelativePath.replace("/.", "");
        if (isFolder(v)) {
            folderName = path.match(/([^'/]*)'/*$/)[1];
            $("body").append("<div>" + folderName + "</div>");
        }
    });
};

如果你想显示文件夹+文件:http://jsfiddle.net/K22RT/

function isFolder(x) {
    if (x.name == "." && x.type == "") {
        return true;
    } else {
        return false;
    }
}
document.querySelector("input").onchange = function () {
    [].slice.call(this.files).forEach(function (v) {
        var displayName = v.name;
        var path = v.webkitRelativePath.replace("/.", "");
        if (isFolder(v)) {
            displayName = path.match(/([^'/]*)'/*$/)[1];
            $("body").append("<div>folder: " + displayName + "</div>");
        } else {
            $("body").append("<div>file: " + displayName + "</div>");
        }
    });
};

我希望这个解决方案能帮到你。