# 上传下载对接S3

内置的上传下载文件是存储到文件系统的,文件将会存储在 /files 目录下,假如想要对接到 S3 对象存储,我们需要做一些调整。

# 修改配置文件

# application.yml
fly
  s3:
    url: changeit 
    bucket-name: changeit
    access-key: changeit
    secret-key: changeit

# 添加依赖

<dependency>
    <groupId>com.amazonaws</groupId>
    <artifactId>aws-java-sdk-s3</artifactId>
    <version>1.12.510</version>
</dependency>

# 修改 Bean

找到 WebAutoConfiguration.java 文件,添加如下 Bean 配置。同时注释掉文件系统存储。

// S3 存储
@Bean(name = "default")
FileResourceRegistration amazonS3FileResourceRegistration(AmazonS3ResourceProperties properties) {
    return FileResourceRegistration.builder("default", new AmazonS3ResourceRepository(properties)).build();
}

// 文件系统存储
//    @Bean(name = "default")
//    FileResourceRegistration systemFileResourceRegistration(@Value("${file.dir}") String dir) throws IOException {
//        return FileResourceRegistration.builder("default", new FileSystemResourceRepository(dir)).build();
//    }
顶部