一、Amazon S3介绍:
官方介绍:amazon (S3) 是一个公开的服务,Web 应用程序开发人员可以使用它存储数字资产,包括图片、视频、音乐和文档。 S3 提供一个 RESTful API 以编程方式实现与该服务的交互。
通俗理解:以桶作为容器。以桶内全路径作为key,以文件作为value的文件存储方式

二、springboot集成Amazon s3
在项目的pom文件中增加如下依赖
<!--aws s3-->
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.336</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-core</artifactId>
<version>1.11.336</version>
</dependency>
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-kms</artifactId>
<version>1.11.336</version>
</dependency>
三、Amazon S3工具类
实现功能:
| 方法 | 方法名 |
| 创建s3的客户端连接 | public AmazonS3 createS3Client(String accessKeyId,String secretAccessKey,String endPoint) |
| 上传文件 | public boolean uploadFile(File file, String fileKey) |
| 上传文件流 | public boolean uploadFileByStream(InputStream inputStream, String fileKey) |
| 从s3下载文件 | public InputStream downloadFile(String fileKey) |
| 同一个桶内移动文件 | public boolean mvFile(String oldFileKey,String newFileKey) |
| 删除单个文件 | public boolean deleteFile(String fileKey) |
| 删除多个文件 | public boolean deleteFiles(String[] fileList) |
| 查看文件是否存在 | public boolean exist(String fileKey) |
| 根据prefix获取文件列表 | public List<S3ObjectSummary> searchPathFileByPrefix(String prefix)< |

本文介绍了如何在SpringBoot项目中集成AmazonS3服务,包括添加依赖、创建S3客户端、执行基本的文件上传、下载、移动和删除操作,以及生成预签名URL。此外,还提到了AmazonS3作为分布式文件存储的优势和可能的扩展应用场景。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



