Skip to content

Commit

Permalink
Merge pull request #121 from 1171736840/dev
Browse files Browse the repository at this point in the history
Dev
  • Loading branch information
1171736840 authored Oct 16, 2023
2 parents f91b66f + cd22918 commit 0fe4609
Show file tree
Hide file tree
Showing 23 changed files with 303 additions and 39 deletions.
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Gitee:https://gitee.com/dromara/x-file-storage

这里是简要的更新记录,查看 [详细的更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录)

`2.0.0` 更改项目名、包名,优化项目结构、捐赠至 [dromara](https://dromara.org/zh) 开源社区,查看 [更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录?id=_200)
`2.0.0` 捐赠至 [dromara](https://dromara.org/zh) 开源社区,更改项目名、包名,优化项目结构、支持 Metadata 元数据等,从旧版升级需要注意,详情查看 [更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录?id=_200)
<br />
`1.0.3` 修复了 FileStorageClientFactory 未自动加载等问题,查看 [更新记录](https://x-file-storage.xuyanwu.cn/#/更新记录?id=_103)
<br />
Expand All @@ -66,11 +66,11 @@ Gitee:https://gitee.com/dromara/x-file-storage
### 📅更新计划

- 接入存储平台:HDFS、FastDFS、杉岩 OBS、Samba、NFS
- 大文件手动分片上传
- 大文件手动分片上传(1.0.0 已支持大文件自动分片上传)
- 复制或移动文件
- 文件内容预加载
- 上传无需强制获取 Size
- 新增 Access 模块,通过 HTTP、FTP、WebDAV 等协议对外提供接口,方便其它程序使用
- 新增 Access 模块,尝试通过 HTTP、FTP、WebDAV 等协议对外提供接口,方便其它程序使用

-------

Expand Down Expand Up @@ -100,8 +100,8 @@ Gitee:https://gitee.com/dromara/x-file-storage
`application.yml` 配置文件中添加以下基础配置

```yaml
spring:
file-storage: #文件存储配置
dromara:
x-file-storage: #文件存储配置
default-platform: aliyun-oss-1 #默认使用的存储平台
aliyun-oss:
- platform: aliyun-oss-1 # 存储平台标识
Expand Down
4 changes: 2 additions & 2 deletions docs/Metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ FileInfo fileInfo = fileStorageService.of(file)

**第一种(全局)**
```yaml
spring:
file-storage:
dromara:
x-file-storage:
upload-not-support-metadata-throw-exception: false
```
Expand Down
175 changes: 172 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ Gitee:https://gitee.com/dromara/x-file-storage

这里是简要的更新记录,查看 [详细的更新记录](更新记录)

`2.0.0` 更改项目名、包名,优化项目结构、捐赠至 [dromara](https://dromara.org/zh) 开源社区,查看 [更新记录](更新记录?id=_200)
`2.0.0` 捐赠至 [dromara](https://dromara.org/zh) 开源社区,更改项目名、包名,优化项目结构、支持 Metadata 元数据等,从旧版升级需要注意,详情查看 [更新记录](更新记录?id=_200)
<br />
`1.0.3` 修复了 FileStorageClientFactory 未自动加载等问题,查看 [更新记录](更新记录?id=_103)
<br />
Expand All @@ -66,11 +66,11 @@ Gitee:https://gitee.com/dromara/x-file-storage
# 📅更新计划

- 接入存储平台:HDFS、FastDFS、杉岩 OBS、Samba、NFS
- 大文件手动分片上传
- 大文件手动分片上传(1.0.0 已支持大文件自动分片上传)
- 复制或移动文件
- 文件内容预加载
- 上传无需强制获取 Size
- 新增 Access 模块,通过 HTTP、FTP、WebDAV 等协议对外提供接口,方便其它程序使用
- 新增 Access 模块,尝试通过 HTTP、FTP、WebDAV 等协议对外提供接口,方便其它程序使用

-------

Expand Down Expand Up @@ -130,6 +130,175 @@ X File Storage 感谢各位小伙伴的信任与支持,如果您已经在项

-------

# 🚀Dromara成员项目

<style>
.member-project {
display: flex;
flex-wrap: wrap;
}

.member-project a {
padding: 10px;
}

.member-project a img {
height: 40px;
}
</style>
<div class="member-project">
<a href="https://gitee.com/dromara/TLog" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/tlog.png" alt="TLog" title="一个轻量级的分布式日志标记追踪神器,10分钟即可接入,自动对日志打标签完成微服务的链路追踪">
</a>
<a href="https://gitee.com/dromara/liteFlow" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/liteflow.png" alt="liteFlow" title="轻量,快速,稳定,可编排的组件式流程引擎">
</a>
<a href="https://hutool.cn/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/hutool.jpg" alt="hutool" title="小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。">
</a>
<a href="https://sa-token.cc/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/sa-token.png" alt="sa-token" title="一个轻量级 java 权限认证框架,让鉴权变得简单、优雅!">
</a>
<a href="https://gitee.com/dromara/hmily" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/hmily.png" alt="hmily" title="高性能一站式分布式事务解决方案。">
</a>
<a href="https://gitee.com/dromara/Raincat" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/raincat.png" alt="Raincat" title="强一致性分布式事务解决方案。">
</a>
<a href="https://gitee.com/dromara/myth" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/myth.png" alt="myth" title="可靠消息分布式事务解决方案。">
</a>
<a href="https://cubic.jiagoujishu.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/cubic.png" alt="cubic" title="一站式问题定位平台,以agent的方式无侵入接入应用,完整集成arthas功能模块,致力于应用级监控,帮助开发人员快速定位问题">
</a>
<a href="https://maxkey.top/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/maxkey.png" alt="maxkey" title="业界领先的身份管理和认证产品">
</a>
<a href="http://forest.dtflyx.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/forest-logo.png" alt="forest" title="Forest能够帮助您使用更简单的方式编写Java的HTTP客户端">
</a>
<a href="https://jpom.top/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/jpom.png" alt="jpom" title="一款简而轻的低侵入式在线构建、自动部署、日常运维、项目监控软件">
</a>
<a href="https://su.usthe.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/sureness.png" alt="sureness" title="面向 REST API 的高性能认证鉴权框架">
</a>
<a href="https://easy-es.cn/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/easy-es2.png" alt="easy-es" title="傻瓜级ElasticSearch搜索引擎ORM框架">
</a>
<a href="https://gitee.com/dromara/northstar" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/northstar_logo.png" alt="northstar" title="Northstar盈富量化交易平台">
</a>
<a href="https://hertzbeat.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/hertzbeat-brand.svg" alt="hertzbeat" title="易用友好的云监控系统">
</a>
<a href="https://dromara.gitee.io/fast-request/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/fast-request.gif" alt="fast-request" title="Idea 版 Postman,为简化调试API而生">
</a>
<a href="https://www.jeesuite.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/mendmix.png" alt="mendmix" title="开源分布式云原生架构一站式解决方案">
</a>
<a href="https://gitee.com/dromara/koalas-rpc" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/koalas-rpc2.png" alt="koalas-rpc" title="企业生产级百亿日PV高可用可拓展的RPC框架。">
</a>
<a href="https://async.sizegang.cn/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/gobrs-async.png" alt="gobrs-async" title="配置极简功能强大的异步任务动态编排框架">
</a>
<a href="https://dynamictp.cn/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/dynamic-tp.png" alt="dynamic-tp" title="基于配置中心的轻量级动态可监控线程池">
</a>
<a href="https://www.x-easypdf.cn" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/x-easypdf.png" alt="x-easypdf" title="一个用搭积木的方式构建pdf的框架(基于pdfbox)">
</a>
<a href="http://dromara.gitee.io/image-combiner" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/image-combiner.png" alt="image-combiner" title="一个专门用于图片合成的工具,没有很复杂的功能,简单实用,却不失强大">
</a>
<a href="https://www.herodotus.cn/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/dante-cloud2.png" alt="dante-cloud" title="Dante-Cloud 是一款企业级微服务架构和服务能力开发平台。">
</a>
<a href="http://www.mtruning.club" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/go-view.png" alt="go-view" title="低代码数据可视化开发平台">
</a>
<a href="https://tangyh.top/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/lamp-cloud.png" alt="lamp-cloud" title="微服务中后台快速开发平台,支持租户(SaaS)模式、非租户模式">
</a>
<a href="https://www.redisfront.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/redis-front.png" alt="redis-front" title="RedisFront 是一款开源免费的跨平台 Redis 桌面客户端工具, 支持单机模式, 集群模式, 哨兵模式以及 SSH 隧道连接, 可轻松管理Redis缓存数据.">
</a>
<a href="https://www.yuque.com/u34495/mivcfg" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/electron-egg.png" alt="electron-egg" title="一个入门简单、跨平台、企业级桌面软件开发框架">
</a>
<a href="https://gitee.com/dromara/open-capacity-platform" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/open-capacity-platform.jpg" alt="open-capacity-platform" title="简称ocp是基于Spring Cloud的企业级微服务框架(用户权限管理,配置中心管理,应用管理,....)">
</a>
<a href="http://easy-trans.fhs-opensource.top/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/easy_trans.png" alt="Easy-Trans" title="Easy-Trans 一个注解搞定数据翻译,减少30%SQL代码量">
</a>
<a href="https://gitee.com/dromara/neutrino-proxy" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/neutrino-proxy.svg" alt="neutrino-proxy" title="一款基于 Netty 的、开源的内网穿透神器。">
</a>
<a href="https://chatgpt.cn.obiscr.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/chatgpt.png" alt="chatgpt" title="一个支持在 JetBrains 系列 IDE 上运行的 ChatGPT 的插件。">
</a>
<a href="https://gitee.com/dromara/zyplayer-doc" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/zyplayer-doc.png" alt="zyplayer-doc" title="zyplayer-doc是一款适合团队和个人使用的WIKI文档管理工具,同时还包含数据库文档、Api接口文档。">
</a>
<a href="https://gitee.com/dromara/payment-spring-boot" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/payment-spring-boot.png" alt="payment-spring-boot" title="最全最好用的微信支付V3 Spring Boot 组件。">
</a>
<a href="https://www.j2eefast.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/j2eefast.png" alt="j2eefast" title="J2eeFAST 是一个致力于中小企业 Java EE 企业级快速开发平台,我们永久开源!">
</a>
<a href="https://gitee.com/dromara/data-compare" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/dataCompare.png" alt="data-compare" title="数据库比对工具:hive 表数据比对,mysql、Doris 数据比对,实现自动化配置进行数据比对,避免频繁写sql 进行处理,低代码(Low-Code) 平台">
</a>
<a href="https://gitee.com/dromara/open-giteye-api" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/open-giteye-api.svg" alt="open-giteye-api" title="giteye.net 是专为开源作者设计的数据图表服务工具类站点,提供了包括 Star 趋势图、贡献者列表、Gitee指数等数据图表服务。">
</a>
<a href="https://gitee.com/dromara/RuoYi-Vue-Plus" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/RuoYi-Vue-Plus.png" alt="RuoYi-Vue-Plus" title="后台管理系统 重写 RuoYi-Vue 所有功能 集成 Sa-Token + Mybatis-Plus + Jackson + Xxl-Job + SpringDoc + Hutool + OSS 定期同步">
</a>
<a href="https://gitee.com/dromara/RuoYi-Cloud-Plus" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/RuoYi-Cloud-Plus.png" alt="RuoYi-Cloud-Plus" title="微服务管理系统 重写RuoYi-Cloud所有功能 整合 SpringCloudAlibaba Dubbo3.0 Sa-Token Mybatis-Plus MQ OSS ES Xxl-Job Docker 全方位升级 定期同步">
</a>
<a href="https://gitee.com/dromara/stream-query" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/stream-query.png" alt="stream-query" title="允许完全摆脱 Mapper 的 mybatis-plus 体验!封装 stream 和 lambda 操作进行数据返回处理。">
</a>
<a href="https://wind.kim/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/sms4j.png" alt="sms4j" title="短信聚合工具,让发送短信变的更简单。">
</a>
<a href="https://cloudeon.top/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/cloudeon.png" alt="cloudeon" title="简化kubernetes上大数据集群的运维管理">
</a>
<a href="https://github.com/dromara/hodor" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/hodor.png" alt="hodor" title="Hodor是一个专注于任务编排和高可用性的分布式任务调度系统。">
</a>
<a href="http://nsrule.com/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/test-hub.png" alt="test-hub" title="流程编排,插件驱动,测试无限可能">
</a>
<a href="https://gitee.com/dromara/disjob" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/disjob-2.png" alt="disjob" title="Disjob是一个分布式的任务调度框架">
</a>
<a href="https://gitee.com/dromara/binlog4j" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/Binlog4j.png" alt="binlog4j" title="轻量级 Mysql Binlog 客户端, 提供宕机续读, 高可用集群等特性">
</a>
<a href="https://gitee.com/dromara/yft-design" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/yft-design.png" alt="yft-design" title="基于 Canvas 的开源版 创客贴 支持导出json,svg, image文件。">
</a>
<a href="https://x-file-storage.xuyanwu.cn" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/logo3.svg" alt="x-file-storage" title="">
</a>
<a href="https://dromara.org/zh/projects/" target="_blank">
<img src="https://x-file-storage.xuyanwu.cn/assets/link/dromara.png" alt="dromara" title="让每一位开源爱好者,体会到开源的快乐。">
</a>
</div>

为往圣继绝学,一个人或许能走的更快,但一群人会走的更远。

<a href="https://x-file-storage.xuyanwu.cn/assets/logo-all.zip" target="_blank">下载本项目 logo 合集</a>

-------

# 🌏知识星球

<img src="https://x-file-storage.xuyanwu.cn/assets/zsxq.png" height="200px" alt="知识星球">
Expand Down
20 changes: 20 additions & 0 deletions docs/acl.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,3 +132,23 @@ ObsClient client = fileStorage.getClient();
AccessControlList acl = client.getObjectAcl(fileStorage.getBucketName(),fileStorage.getFileKey(fileInfo));
```
因为这种方式使用较少,且每个平台返回的的 ACL 都不一样,所以就没有封装统一的方法,一般情况下从`FileInfo`对象直接获取就行了


## 处理异常

默认在不支持的存储平台传入 ACL 会抛出异常,可以通过以下方式不抛出异常

**第一种(全局)**
```yaml
dromara:
x-file-storage:
upload-not-support-alc-throw-exception: false
```
**第二种(仅当前)**
```java
FileInfo fileInfo = fileStorageService.of(file)
.setNotSupportAclThrowException(false) //在不支持 ACL 的存储平台不抛出异常
.setAcl(Constant.ACL.PRIVATE)
.upload();
```
11 changes: 1 addition & 10 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,7 @@
font-weight: bold;
}

.app-name {
margin: 0 !important;
height: 140px;
overflow: hidden;
}

.app-name img {
margin-top: -15px;
max-width: 75%;
}
</style>
</head>
<body>
Expand All @@ -41,7 +32,7 @@
loadFooter: true,
subMaxLevel: 3,
name: 'X File Storage',
logo: 'https://x-file-storage.xuyanwu.cn/assets/logo.svg',
logo: 'https://x-file-storage.xuyanwu.cn/assets/logo2.svg',
repo: 'https://github.com/dromara/x-file-storage',
auto2top: true,
search: {
Expand Down
4 changes: 2 additions & 2 deletions docs/存储平台.md
Original file line number Diff line number Diff line change
Expand Up @@ -437,8 +437,8 @@ public List<HuaweiObsFileStorage> myHuaweiObsFileStorageList() {
这里拿 华为云 OBS 举例 ,先配置我们需要用到的自定义参数

```yaml
spring:
file-storage: #文件存储配置
dromara:
x-file-storage: #文件存储配置
default-platform: huawei-obs-1 #默认使用的存储平台
thumbnail-suffix: ".min.jpg" #缩略图后缀,例如【.min.jpg】【.png】
huawei-obs:
Expand Down
11 changes: 7 additions & 4 deletions docs/快速入门.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@

## 配置

> [!WARNING|label:重要提示:]
> 如果是旧版本升级需要注意:从 2.0.0 版本开始,因为更换了项目名称及结构,导致依赖名称、配置文件参数名及包名与之前版本有所不同,详情查看 [更新记录](更新记录?id=_200)
`pom.xml` 引入本项目,这里默认是 `SpringBoot` 环境,其它环境参考 [脱离 SpringBoot 单独使用](脱离SpringBoot单独使用)

```xml
Expand Down Expand Up @@ -184,8 +187,8 @@
`application.yml` 配置文件中先添加以下基础配置

```yaml
spring:
file-storage: #文件存储配置
dromara:
x-file-storage: #文件存储配置
default-platform: huawei-obs-1 #默认使用的存储平台
thumbnail-suffix: ".min.jpg" #缩略图后缀,例如【.min.jpg】【.png】
#对应平台的配置写在这里,注意缩进要对齐
Expand Down Expand Up @@ -428,8 +431,8 @@ local-plus:
<!-- fold:start -->

```yaml
spring:
file-storage: #文件存储配置
dromara:
x-file-storage: #文件存储配置
default-platform: huawei-obs-1 #默认使用的存储平台
thumbnail-suffix: ".min.jpg" #缩略图后缀,例如【.min.jpg】【.png】
huawei-obs:
Expand Down
4 changes: 2 additions & 2 deletions docs/文件适配器.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
先在配置文件里禁用自带的 byte[] 文件适配器,防止和这里自定义的 byte[] 文件适配器冲突

```yaml
spring:
file-storage:
dromara:
x-file-storage:
enable-byte-file-wrapper: false
```
Expand Down
Loading

0 comments on commit 0fe4609

Please sign in to comment.