Blueimp文件上传程序-Chrome文件夹上传限制

Blueimp File Uploader - Chrome folder upload limitations

本文关键字:文件夹 程序 文件 Blueimp -Chrome      更新时间:2023-09-26

只有chrome 22及更高版本支持在浏览器上传时拖放文件夹时上传相对文件夹名称(html5)。

当我试图上传多个文件铬拖动&drop文件夹支持,我遇到了某种限制。我找不到任何方法来更改或禁用这个限制。

  • 当你只选择1000个文件并放到上传器时,它确实有效,并在等待一段时间后将这些文件添加到上传列表中进行处理。没关系。

  • 当你选择一个包含1000个文件的文件夹并放到上传器时,上传器只会在该文件夹中随机添加100个文件。

  • 当你创建110个文件夹时,每个文件夹中包含1个文件,然后上传器只添加100个文件,剩下10个文件夹。

看起来,chrome文件/文件夹上传机制在某种程度上限制了任何文件夹中的最大项目,同时递归地抓取文件&文件夹。限制数字为100。

我找不到任何相关的文档,我迫切需要将限制提高到每个文件/文件夹至少1000个或没有限制。

已经谢谢大家了。

在搜索相关文档两天后,我可以在以下url中找到答案。

https://developer.mozilla.org/en-US/docs/Web/API/DirectoryReader#readEntries

我可以修复blueimp上传程序。

jquery.fileupload.js

查找:

            } else if (entry.isDirectory) {
            dirReader = entry.createReader();
            dirReader.readEntries(function (entries) {
                that._handleFileTreeEntries(
                    entries,
                    path + entry.name + '/'
                ).done(function (files) {
                    dfd.resolve(files);
                }).fail(errorHandler);
            }, errorHandler);
        } else {

替换:

        } else if (entry.isDirectory) {
            dirReader = entry.createReader();
            var entries = [];
            var readEntries = function () {
                dirReader.readEntries(function (results /* entries */) {
                    if (results.length) {
                        entries = entries.concat(Array.prototype.slice.call(results || [], 0));
                        readEntries();
                    } else {
                        that._handleFileTreeEntries(
                            entries,
                            path + entry.name + '/'
                        ).done(function (files) {
                            dfd.resolve(files);
                        }).fail(errorHandler);
                    }
                }, errorHandler);
            };
            readEntries();
        } else {

我希望这能有所帮助。