feat(drivers): add a driver that divides large files into multiple chunks #1153
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 / 描述
添加了一个将文件划分为限制了大小的若干块的驱动,除第一块的名称与原文件名保持一致外,其余块的名称为原文件名称 +
.openlist_chunk_<块号>
,支持在其后继续添加自定义后缀以应对蓝奏云对文件类型的限制。这是一个与
alias
和crypt
类似的中间件驱动,调用该驱动的List
方法得到的文件列表会过滤掉具有.openlist_chunk
后缀的项目,且被分片的文件的大小为所有分片大小之和,调用Link
方法得到的是一个拼接了所有分片的RangeReader
。对于一个已经创建好且其中有分片文件的
chunk
驱动,修改其分片大小是安全的,曾经的文件仍可以正常访问、重命名、复制、移动和删除;但修改其自定义后缀是不安全的,不确定会出现什么样的问题。Motivation and Context / 背景
Closes #1074
How Has This Been Tested? / 测试
测试了后端存储为
local
、uss
和lanzou
的情况,暂时没有发现问题Checklist / 检查清单
我已阅读 CONTRIBUTING 文档。
go fmt
or prettier.我已使用
go fmt
或 prettier 格式化提交的代码。我已为此 PR 添加了适当的标签(如无权限或需要的标签不存在,请在描述中说明,管理员将后续处理)。
我已在适当情况下使用"Request review"功能请求相关代码作者进行审查。
我已相应更新了相关仓库(若适用)。