diff --git a/README.md b/README.md index 12e4c448..631a3c7c 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ Amazon S3、GoogleCloud Storage、FastDFS、 Azure Blob Storage、Cloudflare R2 💡 通过 WebDAV 连接到 Alist 后,可以使用百度网盘、天翼云盘、阿里云盘、迅雷网盘等常见存储服务,查看 [Alist 支持的存储平台](https://alist.nn.ci/zh/guide/webdav.html#webdav-%E5%AD%98%E5%82%A8%E6%94%AF%E6%8C%81) +🚚 支持在不同存储平台之间迁移文件,详情查看 [迁移文件](https://x-file-storage.xuyanwu.cn/#/迁移文件) + GitHub:https://github.com/dromara/x-file-storage
Gitee:https://gitee.com/dromara/x-file-storage @@ -54,6 +56,8 @@ Gitee:https://gitee.com/dromara/x-file-storage 这里是简要的更新记录,查看 [详细的更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录) +`2.2.0` 修复大量问题,新增获取文件、列举文件,重构预签名 URL 支持客户端上传、下载、删除等操作,新增 Solon 插件,优化手动分片上传等功能,详情查看 [更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录?id=_220) +
`2.1.0` 修复大量问题,新增存储平台 FastDFS 和 Azure Blob Storage,新增复制、移动(重命名)文件,手动分片上传(断点续传)和计算哈希等功能,详情查看 [更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录?id=_210)
`2.0.0` 捐赠至 [dromara](https://dromara.org/zh) 开源社区,更改项目名、包名,优化项目结构、支持 Metadata 元数据等,从旧版升级需要注意,详情查看 [更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录?id=_200) @@ -71,11 +75,13 @@ Gitee:https://gitee.com/dromara/x-file-storage ### 📅更新计划 - 接入存储平台:HDFS、火山云 TOS、Samba、NFS -- 用户端直传 - 追加缩略图 -- 列出文件 - 文件内容预加载 - 新增 Access 模块,尝试通过 HTTP、FTP、WebDAV 等协议对外提供接口,方便其它程序使用 +- 追加文件 +- 分片下载 +- 直接输出到 HttpServletResponse 的响应流中 +- 其它更多功能 ------- @@ -85,14 +91,14 @@ Gitee:https://gitee.com/dromara/x-file-storage #### 🔧 配置 -这里以阿里云 OSS 为例,`pom.xml` 引入本项目,这里默认是 `SpringBoot` 环境,其它环境参考 [脱离 SpringBoot 单独使用](https://x-file-storage.xuyanwu.cn/#/脱离SpringBoot单独使用) +这里以阿里云 OSS 为例,`pom.xml` 引入本项目,这里默认是 `SpringBoot` 环境,`Solon` 环境参考 [在 Solon 中使用](https://x-file-storage.xuyanwu.cn/#/在Solon中使用),其它环境参考 [脱离 SpringBoot 单独使用](https://x-file-storage.xuyanwu.cn/#/脱离SpringBoot单独使用) ```xml org.dromara.x-file-storage x-file-storage-spring - 2.1.0 + 2.2.0 @@ -138,7 +144,7 @@ public class SpringFileStorageTestApplication { ``` #### ✨开始上传 - 支持 File、MultipartFile、byte[]、InputStream、URL、URI、String、HttpServletRequest,大文件会自动分片上传。如果想支持更多方式,请阅读 [文件适配器](https://x-file-storage.xuyanwu.cn/#/文件适配器) 章节 + 支持 File、MultipartFile、UploadedFile、byte[]、InputStream、URL、URI、String、HttpServletRequest,大文件会自动分片上传。如果想支持更多方式,请阅读 [文件适配器](https://x-file-storage.xuyanwu.cn/#/文件适配器) 章节 ```java @RestController @@ -163,6 +169,7 @@ public class FileDetailController { public String upload2(MultipartFile file) { FileInfo fileInfo = fileStorageService.of(file) .setPath("upload/") //保存到相对路径下,为了方便管理,不需要可以不写 + .setSaveFilename("image.jpg") //设置保存的文件名,不需要可以不写,会随机生成 .setObjectId("0") //关联对象id,为了方便管理,不需要可以不写 .setObjectType("0") //关联对象类型,为了方便管理,不需要可以不写 .putAttr("role","admin") //保存一些属性,可以在切面、保存上传记录、自定义存储平台等地方获取使用,不需要可以不写 diff --git a/docs/Metadata.md b/docs/Metadata.md index 90c0260b..106b0352 100644 --- a/docs/Metadata.md +++ b/docs/Metadata.md @@ -18,12 +18,22 @@ FileInfo fileInfo = fileStorageService.of(file) .putThUserMetadata("role","777") .thumbnail() .upload(); + +//获取 +RemoteFileInfo info = fileStorageService.getFile(fileInfo); +Assert.notNull(info, "文件不存在"); +//文件元数据 +MapProxy metadata = info.getKebabCaseInsensitiveMetadata(); +//文件用户元数据 +MapProxy userMetadata = info.getKebabCaseInsensitiveUserMetadata(); ``` > [!WARNING|label:重要提示:] > 每个存储平台支持的 Metadata 有所不同,例如 七牛云 Kodo 和 又拍云 USS 就不支持 `Content-Disposition`,具体支持情况以每个存储平台的官方文档为准 > > 在传入 UserMetadata 时,不用传入前缀,例如 `x-amz-meta-` `x-qn-meta-` `x-upyun-meta-`,SDK会自动处理 +> +> 每个存储平台获取到的 Metadata 都不相同,有些是字符串类型,有些是其它类型的对象,这部分需要自行做好判断 ## 处理异常 diff --git a/docs/README.md b/docs/README.md index 0455ea33..101cdd2d 100644 --- a/docs/README.md +++ b/docs/README.md @@ -45,6 +45,8 @@ Amazon S3、GoogleCloud Storage、FastDFS、 Azure Blob Storage、Cloudflare R2 💡 通过 WebDAV 连接到 Alist 后,可以使用百度网盘、天翼云盘、阿里云盘、迅雷网盘等常见存储服务,查看 [Alist 支持的存储平台](https://alist.nn.ci/zh/guide/webdav.html#webdav-%E5%AD%98%E5%82%A8%E6%94%AF%E6%8C%81) +🚚 支持在不同存储平台之间迁移文件,详情查看 [迁移文件](迁移文件) + GitHub:https://github.com/dromara/x-file-storage
Gitee:https://gitee.com/dromara/x-file-storage @@ -55,6 +57,8 @@ Gitee:https://gitee.com/dromara/x-file-storage 这里是简要的更新记录,查看 [详细的更新记录](更新记录) +`2.2.0` 修复大量问题,新增获取文件、列举文件,重构预签名 URL 支持客户端上传、下载、删除等操作,新增 Solon 插件,优化手动分片上传等功能,详情查看 [更新记录](更新记录?id=_220) +
`2.1.0` 修复大量问题,新增存储平台 FastDFS 和 Azure Blob Storage,新增复制、移动(重命名)文件,手动分片上传(断点续传)和计算哈希等功能,详情查看 [更新记录](更新记录?id=_210)
`2.0.0` 捐赠至 [dromara](https://dromara.org/zh) 开源社区,更改项目名、包名,优化项目结构、支持 Metadata 元数据等,从旧版升级需要注意,详情查看 [更新记录](更新记录?id=_200) @@ -72,11 +76,13 @@ Gitee:https://gitee.com/dromara/x-file-storage # 📅更新计划 - 接入存储平台:HDFS、火山云 TOS、Samba、NFS -- 用户端直传 - 追加缩略图 -- 列出文件 - 文件内容预加载 - 新增 Access 模块,尝试通过 HTTP、FTP、WebDAV 等协议对外提供接口,方便其它程序使用 +- 追加文件 +- 分片下载 +- 直接输出到 HttpServletResponse 的响应流中 +- 其它更多功能 ------- @@ -86,6 +92,32 @@ Gitee:https://gitee.com/dromara/x-file-storage ------- +# 💳捐赠 +如果你觉得这个项目不错,可以点个 Star 或捐赠请作者吃包辣条~,不想打赏的话用支付宝扫最后一个码可以领取个红包,在此表示感谢^_^ + +微信 +支付宝 +支付宝2 +饿了么 +美团外卖 + +或者点击以下链接,将页面拉到最下方点击“捐赠”即可 + +[Gitee上捐赠](https://gitee.com/dromara/x-file-storage) + +------- + +# 🌶️VIP交流群 + +扫描上方二维码捐赠 99 元,截图发我 `QQ1171736840` 即可加入 VIP 交流群(超过一年则需要再次捐赠,否则将进行清退) + +也可以点击添加免费交流群 + +515706495 + 一起交流 + +------- + # 🏗️添砖加瓦 ## 🎋分支说明 @@ -134,36 +166,10 @@ X File Storage 感谢各位小伙伴的信任与支持,如果您已经在项 [在 Gitee 上登记](https://gitee.com/dromara/x-file-storage/issues/I83Q6R)
[在 GitHub 上登记](https://github.com/dromara/x-file-storage/issues/114) -[tg.md](https://x-file-storage.xuyanwu.cn/assets/link/member-project.md ':include') - ------- # 🌏知识星球 知识星球 -------- - -# 💳捐赠 -如果你觉得这个项目不错,可以点个 Star 或捐赠请作者吃包辣条~,不想打赏的话用支付宝扫最后一个码可以领取个红包,在此表示感谢^_^ - -微信 -支付宝 -支付宝2 -饿了么 -美团外卖 - -或者点击以下链接,将页面拉到最下方点击“捐赠”即可 - -[Gitee上捐赠](https://gitee.com/dromara/x-file-storage) - -------- - -# 🌶️VIP交流群 - -扫描上方二维码捐赠 99 元,截图发我 `QQ1171736840` 即可加入 VIP 交流群(超过一年则需要再次捐赠,否则将进行清退) - -也可以点击添加免费交流群 - -515706495 - 一起交流 +[member-project.md](https://x-file-storage.xuyanwu.cn/assets/link/member-project.md ':include') diff --git a/docs/_navbar.md b/docs/_navbar.md index 42a7ab40..10503e49 100644 --- a/docs/_navbar.md +++ b/docs/_navbar.md @@ -1,5 +1,6 @@ -* 🌟文档版本 2.1.0 +* 🌟文档版本 2.2.0 + * [2.2.0](https://x-file-storage.xuyanwu.cn/2.2.0/) * [2.1.0](https://x-file-storage.xuyanwu.cn/2.1.0/) * [2.0.0](https://x-file-storage.xuyanwu.cn/2.0.0/) * [1.0.3](https://x-file-storage.xuyanwu.cn/1.0.3/) diff --git a/docs/_sidebar.md b/docs/_sidebar.md index 5ddd343f..c1fa29f0 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -1,8 +1,9 @@ * [📚简介](/ "简介") * [🍭快速入门](快速入门 "快速入门") * [🍬基础功能](基础功能 "基础功能") +* [🚚迁移文件](迁移文件 "迁移文件") * [🍉ACL 访问控制列表](acl "ACL 访问控制列表") -* [🥑预签名 URL](预签名URL "签名 URL") +* [🥑预签名 URL](预签名URL "预签名 URL") * [🌼Metadata 元数据](Metadata "Metadata 元数据") * [🥦存储平台](存储平台 "存储平台") * [🌽文件适配器](文件适配器 "文件适配器") @@ -10,5 +11,6 @@ * [🍵️计算哈希](hash "hash") * [🧪切面](切面 "切面") * [🌱脱离 SpringBoot 单独使用](脱离SpringBoot单独使用 "脱离 SpringBoot 单独使用") +* [🍩在 Solon 中使用](在Solon中使用 "在 Solon 中使用") * [🙋‍♂️常见问题](常见问题 "常见问题") * [📜更新记录](更新记录 "更新记录") diff --git a/docs/index.html b/docs/index.html index 07fafca5..d8deb6fb 100644 --- a/docs/index.html +++ b/docs/index.html @@ -10,6 +10,7 @@ +