springboot阿里云oss使用
时间: 2025-01-06 16:35:19 浏览: 56
### Spring Boot 集成阿里云 OSS 使用教程
#### 添加依赖项
为了使 Spring Boot 项目能够顺利集成并使用阿里云 OSS 文件存储服务,需引入 `spring-boot-starter-alicloud-oss` 组件作为适配器[^1]。
```xml
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alicloud-oss</artifactId>
</dependency>
```
#### 编写配置文件
在项目的 application.yml 或者 application.properties 中加入如下所示的相关参数设置:
```yaml
aliyun:
oss:
endpoint: https://oss-cn-beijing.aliyuncs.com # 地域节点地址
accessKeyId: LTAI5tGxH74Axxxxxx # 用户Access Key ID
accessKeySecret: YqUjxxxxxxxxxxx # 用户Access Key Secret
bucketName: example-bucket # 存储空间名称
```
以上信息均来自官方说明文档中的指导建议[^3]。
#### 创建工具类实现上传下载功能
定义一个名为 OssUtil.java 的 Java 类来封装具体操作方法。以下是部分核心代码片段展示如何完成图片资源的上载以及获取外链的过程[^2]。
```java
import com.aliyun.oss.OSS;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class OssService {
@Autowired
private OSS client;
/**
* 将本地路径下的指定文件上传至OSS服务器端,并返回访问链接URL字符串形式的结果。
*/
public String uploadFile(String localFilePath){
try {
File file = new File(localFilePath);
PutObjectRequest request = new PutObjectRequest(bucketName, objectName, file);
// 设置权限(公开读)
ObjectMetadata metadata = new ObjectMetadata();
metadata.setObjectACL(CannedAccessControlList.PublicRead);
request.setMetadata(metadata);
// 执行上传命令
PutObjectResult result = client.putObject(request);
return "https://" + bucketName + "." + endpoint + "/" + objectName;
} catch (Exception e) {
throw new RuntimeException(e.getMessage());
}
}
/**
* 根据给定的对象名从远程仓库中检索对应的数据流对象。
*/
public InputStream downloadFile(String fileName){
try{
GetObjectRequest getObjectRequest = new GetObjectRequest(bucketName,fileName);
OSSObject ossObject = client.getObject(getObjectRequest);
return ossObject.getObjectContent();
}catch(Exception ex){
throw new RuntimeException(ex.getMessage());
}
}
}
```
上述示例展示了基本的功能模块设计思路,实际应用时可根据业务需求进一步扩展优化[^4]。
阅读全文
相关推荐
















