在 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













