Skip to content

存储

作者:唐亚峰 | battcn
字数统计:285 字

TIP

支持阿里云腾讯云自建Minio七牛云、等多种云存储,提供丰富的API开箱即用,如不满足业务需要,可以自行扩展storage-spring-boot-starter

添加依赖

pom.xml 中添加 SDK 的依赖包,可以参考项目中的案例

xml
<dependency>
    <groupId>com.wemirr.framework</groupId>
    <artifactId>storage-spring-boot-starter</artifactId>
    <version>${lastVersion}</version>
</dependency>

注意

默认所有基础SDK都是不会被依赖到 pom.xml 中的,需要开发者自行依赖

minio

xml
<dependency>
    <groupId>io.minio</groupId>
    <artifactId>minio</artifactId>
</dependency>

阿里云

xml
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
</dependency>

七牛云

xml
<dependency>
    <groupId>com.qiniu</groupId>
    <artifactId>qiniu-java-sdk</artifactId>
</dependency>

配置规则

市面上主流的云存储基本都支持,如果遇到不支持的可以自己基于 StorageOperation 接口实现自己需要的存储类

yaml
# 阿里云
extend.oss.cloud.aliyun.access-key=xxxx
extend.oss.cloud.aliyun.bucket=xxxx

# 腾讯云
extend.oss.cloud.tencent.access-key=xxxx
extend.oss.cloud.tencent.app-id=xxxx

# 自建Minio
extend.oss.cloud.minio.access-key=xxxx
extend.oss.cloud.minio.bucket=xxxx

# 七牛云
extend.oss.cloud.qiniu.enabled=true
extend.oss.cloud.qiniu.region=region0
extend.oss.cloud.qiniu.bucket=battcn
extend.oss.cloud.qiniu.mapping-path=http://qiniu.battcn.com

使用方式

注入 StorageOperation 就可以用了,简单粗暴

java
@Slf4j
@RestController
@RequestMapping("/files")
@RequiredArgsConstructor
@Tag(name = "文件管理", description = "文件管理")
public class FileController {

    private final StorageOperation storageOperation;

}