SpringBoot集成OSS

本文介绍了如何将SpringBoot应用与阿里云OSS服务集成,包括在OSS控制台创建Bucket和上传文件,以及在SpringBoot中配置AccessKey,添加依赖,设置配置,创建常量类,实现OssController和OssService,最后通过文件流方式上传并使用Swagger-ui进行测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OSS控制台

1. 可手动创建Bucket
在这里插入图片描述
2. 控制台直接上传文件
在这里插入图片描述

SpringBoot集成OSS

学习路径:https://help.aliyun.com/learn/learningpath/oss.html
Java SDK:https://help.aliyun.com/document_detail/32008.html

1. 创建AccessKey
在这里插入图片描述
2. pom.xml中配置依赖

<!--阿里云oss-->
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>
<!--日期工具栏-->
<dependency>
    <groupId>joda-time</groupId>
    <artifactId>joda-time</artifactId>
    <version>2.10.1</version>
</dependency>

3. application配置文件

#服务端口
server.port=8082
#服务名
spring.application.name=service-oss

#环境设置:dev、test、prod
spring.profiles.active=dev

#阿里云 OSS
#不同的服务器,地址不同
aliyun.oss.file.endpoint=your endpoint
aliyun.oss.file.keyid=your accessKeyId
aliyun.oss.file.keysecret=your accessKeySecret
#bucket可以在控制台创建&#x
### Spring Boot 集成阿里云 OSS 教程 #### 1. 添加依赖项 为了在 Spring Boot集成阿里云 OSS,首先需要引入相应的 Maven 或 Gradle 依赖。 对于 Maven 用户,在 `pom.xml` 文件中添加如下依赖: ```xml <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>3.10.2</version> </dependency> ``` Gradle 用户可以在 `build.gradle` 文件中加入: ```gradle implementation 'com.aliyun.oss:aliyun-sdk-oss:3.10.2' ``` #### 2. 配置文件设置 接着,在项目的 `application.yml` 或者 `application.properties` 文件内指定必要的连接参数。这里以 YAML 格式的配置为例[^3]: ```yaml aliyun: oss: endpoint: https://oss-cn-beijing.aliyuncs.com accessKeyId: ${your_access_key_id} accessKeySecret: ${your_access_key_secret} bucketName: ${your_bucket_name} ``` 请注意替换 `${}` 占位符中的内容为你自己的实际值。 #### 3. 创建工具类用于操作 OSS 创建一个新的 Java 类来封装与 OSS 的交互逻辑,比如上传、下载等功能。下面是一个简单的例子展示如何实现这些功能: ```java import com.aliyun.oss.OSS; import com.aliyun.oss.OSSClientBuilder; public class OssUtil { private final String endpoint; private final String accessKeyId; private final String accessKeySecret; private final String bucketName; public OssUtil(String endpoint, String accessKeyId, String accessKeySecret, String bucketName) { this.endpoint = endpoint; this.accessKeyId = accessKeyId; this.accessKeySecret = accessKeySecret; this.bucketName = bucketName; } /** * Upload file to AliCloud OSS. */ public void uploadFile(String objectName, File file){ try (OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret)) { client.putObject(bucketName, objectName, file); } } /** * Download file from AliCloud OSS. */ public InputStream downloadFile(String objectName)throws Exception{ try (OSS client = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret)){ return client.getObject(bucketName, objectName).getObjectContent(); } } // More methods can be added here... } ``` 此代码片段展示了基本的上传和下载方法。更多高级特性可以根据官方文档进一步扩展[^2]。 #### 4. 使用示例 假设已经有一个名为 `fileToUpload.txt` 的本地文件想要上传到 OSS 上的一个特定路径下,则可以通过调用上述定义好的 `uploadFile()` 方法完成这一过程;同样地,如果希望获取某个已存在对象的内容并将其作为输入流返回给客户端应用,则可以利用 `downloadFile()` 函数达成目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值