javascript - 使用 webkitdirectory 上传目录,是否可以在上传之前过滤掉某些子目录文件夹?
问题描述
我想上传多个文件夹,只想忽略特定文件夹读取其文件示例:- 0345(根文件夹)-ABB(子文件夹1)-ASCII(子文件夹1.1)-数据(子文件夹1.2)(此文件夹我不想阅读(上传时绕过它))
我尝试了不同的 hack 但失败了
下面是你可以尝试的小提琴
(https://jsfiddle.net/6jkm5ws3/33/)
谢谢 !
解决方案
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);
}
});
});
在上面的代码中,我正在过滤数组并将其传递给我将传递给上传的验证文件。
推荐阅读
- tensorflow - 不仅在跟踪时如何在 TensorFlow 中读取文件?
- twitter - 用于查找 Twitter 数据的软件包
- .net - 如何从命令行界面使用 Microsoft.CodeAnalysis.NetAnalyzers 为 .NET 应用程序运行代码分析
- postgresql - 如何遍历表动态生成case语句
- javascript - 为什么 forEach 不会遍历整个数组?
- ruby-on-rails - 如何将记录关系与同一模型的另一个模型关系结合起来?
- broadcast - 我正在尝试通过 OBS 在 YouTube 上开始直播,但我无法创建直播并开始直播
- sql - SSIS 使用派生列动态添加源中不存在的列
- android - 使用 React Native Animated 在 Android 上消失的 React Native 动画图像
- html - 显示:flex 采用图像高度但在添加文本时溢出