# diboot-file: 文件处理组件

# 1. 本地存储

file组件的文件存储接口为FileStorageService,默认的存储方式为 本地存储,实现类为:LocalFileStorageServiceImpl。 启用本地存储需配置以下参数:

# 文件的本地存储配置:路径
diboot.component.file.storage-directory=/myfile
1
2

# 2. 阿里云OSS存储:

file组件还预置了阿里云OSS存储,其实现类为:AliyunOssFileStorageServiceImpl

启用阿里云OSS的步骤:

  • 1). 依赖阿里云OSS SDK包
<!-- 阿里云 对象存储 -->
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>${latest-version}</version>
</dependency>
1
2
3
4
5
6
  • 2). 配置阿里云OSS相关参数:
# 阿里云OSS存储配置:
diboot.component.file.oss.aliyun.access-key-id: 
diboot.component.file.oss.aliyun.access-key-secret: 
diboot.component.file.oss.aliyun.endpoint: 
diboot.component.file.oss.aliyun.bucket-name: 
1
2
3
4
5

# 3、自定义扩展其他存储方式

如需扩展其他存储实现,参照LocalFileStorageServiceImpl,实现FileStorageService接口(或继承自AbstractFileStorageServiceImpl) 并替换初始化Bean实现即可:

public class MyFileStorageServiceImpl extends AbstractFileStorageServiceImpl {
    @Override
    public UploadFile upload(MultipartFile file) throws Exception {
        //
    }
    @Override
    public void download(UploadFile uploadFile, HttpServletResponse response) throws Exception {
        //
    }
    @Override
    public UploadFileIncludeBytesVO getUploadFileIncludeBytes(String uuid) throws Exception {
        //
    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14