在 Spring Boot 中使用阿里云 OSS 上传文件的功能,需要进行以下几个步骤:
- 添加阿里云 OSS 的依赖
在 pom.xml
文件中添加阿里云 OSS 的依赖:
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.13.2</version>
</dependency>
- 在
application.properties
中配置阿里云 OSS 的参数
在 application.properties
中添加阿里云 OSS 的相关配置参数:
# 阿里云 OSS 相关参数
aliyun.oss.endpoint=oss-cn-hangzhou.aliyuncs.com
aliyun.oss.accessKeyId=your_access_key_id
aliyun.oss.accessKeySecret=your_access_key_secret
aliyun.oss.bucketName=your_bucket_name
- 创建一个文件上传的 Controller
创建一个文件上传的 Controller,并注入阿里云 OSS 的客户端。
@RestController
public class FileUploadController {
@Autowired
private OSS ossClient;
@Value("${aliyun.oss.bucketName}")
private String bucketName;
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) throws IOException {
// 上传文件到阿里云 OSS
String fileName = file.getOriginalFilename();
InputStream inputStream = file.getInputStream();
ossClient.putObject(bucketName, fileName, inputStream);
// 返回文件访问的 URL
return "https://" + bucketName + "." + ossClient.getEndpoint().toString().replace("http://", "") + "/" + fileName;
}
}
在这个 Controller 中,我们注入了阿里云 OSS 的客户端,使用 @Value
注解将配置文件中的 bucketName
注入进来。在 uploadFile
方法中,我们将上传的文件通过阿里云 OSS 的客户端上传到指定的 bucketName
中,并返回文件的访问 URL。
- 创建阿里云 OSS 的客户端
最后,在 Spring Boot 的配置类中创建阿里云 OSS 的客户端:
@Configuration
public class OSSConfiguration {
@Value("${aliyun.oss.endpoint}")
private String endpoint;
@Value("${aliyun.oss.accessKeyId}")
private String accessKeyId;
@Value("${aliyun.oss.accessKeySecret}")
private String accessKeySecret;
@Bean
public OSS ossClient() {
return new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
}
}
在这个配置类中,我们通过 @Value
注解获取配置文件中的 endpoint
、accessKeyId
和 accessKeySecret
,然后创建一个 OSS
对象并返回。
© 版权声明
本站资源来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!
THE END