首页 > 解决方案 > 使用 webkitdirectory 上传目录,是否可以在上传之前过滤掉某些子目录文件夹?

问题描述

我想上传多个文件夹,只想忽略特定文件夹读取其文件示例:- 0345(根文件夹)-ABB(子文件夹1)-ASCII(子文件夹1.1)-数据(子文件夹1.2)(此文件夹我不想阅读(上传时绕过它))

我尝试了不同的 hack 但失败了

下面是你可以尝试的小提琴

(https://jsfiddle.net/6jkm5ws3/33/)

谢谢 !

标签: javascripthtml

解决方案


var validatedFiles = [];
let list = document.getElementById('listing');
list.innerHTML = 'Filtered ASCII files are:.<br>';
$("#file").on("change", function (e) {
    $(".loader").show().delay(2000).fadeOut();
    $.each(e.target.files, function(index, value){
        var str = e.target.files[index].webkitRelativePath;
        var arr = str.split('/'); 
        arr_exe = (arr[arr.length-1]);
        extension = arr_exe.split('.').pop();

        arr_sec = (arr[arr.length-2]);
        if ((arr_sec =="ASCII" ||  arr_sec =="ascii" ||  arr_sec =="Ascii") && (extension !="exe")) {
            validatedFiles.push(value); // Simplest case
            list.innerHTML += '<br>' + value.webkitRelativePath;
            var str = e.target.files[index].webkitRelativePath;
            var arr = str.split('/');
            arr_exe = (arr[arr.length-4]);    
            validatedFiles.push(arr_exe);
        }
    });
});

在上面的代码中,我正在过滤数组并将其传递给我将传递给上传的验证文件。


推荐阅读