fix(upload): resolve 100-entry limit of readEntries in Chrome #347
+12
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description / 描述
This PR implements a recursive loop for dirReader.readEntries() within the traverseFileTree function in the file src/papges/home/uploads/utils.ts. This ensures that all entries in a directory are retrieved, not just the first batch.
Motivation and Context / 背景
In Chromium-based browsers (Chrome, Edge), the FileSystemDirectoryReader.readEntries() API typically returns a maximum of 100 entries per call. Previously, uploading a folder with more than 100 files would result in only the first 100 files being processed, causing data loss. This change calls readEntries repeatedly until an empty array is returned, ensuring complete folder traversal regardless of the file count.
How Has This Been Tested? / 测试
Checklist / 检查清单
我已阅读 CONTRIBUTING 文档。
go fmtor prettier.我已使用
go fmt或 prettier 格式化提交的代码。我已为此 PR 添加了适当的标签(如无权限或需要的标签不存在,请在描述中说明,管理员将后续处理)。
我已在适当情况下使用"Request review"功能请求相关代码作者进行审查。
我已相应更新了相关仓库(若适用)。