Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Chrome Drop文件夹-不完整的文件_Javascript_Html_Google Chrome_Dropzone.js - Fatal编程技术网

Javascript Chrome Drop文件夹-不完整的文件

Javascript Chrome Drop文件夹-不完整的文件,javascript,html,google-chrome,dropzone.js,Javascript,Html,Google Chrome,Dropzone.js,我正在开发一个支持drop folder的上传程序,它还可以,但我的用例失败了 我有一个文件夹,里面有多个文件和文件夹,文件量分别为2511和2451个文件夹。我不知道原因,但在删除功能后,它只能识别1576个文件及其父文件夹 这是我正在使用的下降函数: filescnt=0; nop=0; $("#dropingArea").on('dragover',function(e){ e.preventD

我正在开发一个支持drop folder的上传程序,它还可以,但我的用例失败了

我有一个文件夹,里面有多个文件和文件夹,文件量分别为2511和2451个文件夹。我不知道原因,但在删除功能后,它只能识别1576个文件及其父文件夹

这是我正在使用的下降函数:

        filescnt=0;
        nop=0;
        $("#dropingArea").on('dragover',function(e){            
            e.preventDefault();
            e.stopPropagation();
        });
        $("#dropingArea").on('dragenter',function(e){            
            e.preventDefault();
            e.stopPropagation();
        });
        $("#dropingArea").on('drop',function(e){
            console.log(e);
            if(e.originalEvent.dataTransfer){
                if(e.originalEvent.dataTransfer.files.length) {
                    e.preventDefault();
                    e.stopPropagation();
                    /*UPLOAD FILES HERE*/
                    console.log(e.originalEvent.dataTransfer.items);
                    items = e.originalEvent.dataTransfer.items;
                    for (var i=0; i<items.length; i++) {
                        var item = items[i].webkitGetAsEntry();
                        if (item) {
                            traverseFileTree(item);
                        }
                    }
                }   
            }
        });

        function traverseFileTree(item, path) {
              path = path || "";
              if (item.isFile) {
                // Get file
                filescnt++;
                item.file(function(file) {
                  console.log("File:", path + file.name);
                });
              } else if (item.isDirectory) {
                // Get folder contents
                var dirReader = item.createReader();
                dirReader.readEntries(function(entries) {
                  for (var i=0; i<entries.length; i++) {
                    traverseFileTree(entries[i], path + item.name + "/");
                  }
                });
              }
        }
filescnt=0;
nop=0;
$(“#dropingArea”)。在('dragover',函数(e){
e、 预防默认值();
e、 停止传播();
});
$(“#dropingArea”)。关于('dragenter',函数(e){
e、 预防默认值();
e、 停止传播();
});
$(“#dropingArea”)。关于('drop',函数(e){
控制台日志(e);
if(如原始事件数据传输){
if(例如originalEvent.dataTransfer.files.length){
e、 预防默认值();
e、 停止传播();
/*在这里上传文件*/
日志(例如originalEvent.dataTransfer.items);
items=e.originalEvent.dataTransfer.items;
对于(var i=0;iFrom

要读取目录的内容,请创建DirectoryReader并调用 它的readEntries()方法。不能保证 目录的条目将在对的单个调用中返回 readEntries()。这意味着您需要继续呼叫 直到不再返回结果为止

同样,从上一页:

function onInitFs(fs) {

  var dirReader = fs.root.createReader();
  var entries = [];

  // Call the reader.readEntries() until no more results are returned.
  var readEntries = function() {
     dirReader.readEntries (function(results) {
      if (!results.length) {
        listResults(entries.sort());
      } else {
        entries = entries.concat(toArray(results));
        readEntries();
      }
    }, errorHandler);
  };

  readEntries(); // Start reading dirs.

}
请注意,在我们读取了一些结果(results.length!=0)的情况下,我们对同一个dirReader调用readEntries以获取下一个文件“块”

要读取目录的内容,请创建DirectoryReader并调用 它的readEntries()方法。不能保证 目录的条目将在对的单个调用中返回 readEntries()。这意味着您需要继续呼叫 直到不再返回结果为止

同样,从上一页:

function onInitFs(fs) {

  var dirReader = fs.root.createReader();
  var entries = [];

  // Call the reader.readEntries() until no more results are returned.
  var readEntries = function() {
     dirReader.readEntries (function(results) {
      if (!results.length) {
        listResults(entries.sort());
      } else {
        entries = entries.concat(toArray(results));
        readEntries();
      }
    }, errorHandler);
  };

  readEntries(); // Start reading dirs.

}
注意,在我们读取了一些结果(results.length!=0)的情况下,我们对同一个dirReader调用readEntries来获取下一个文件“块”