Spring Boot 实现 阿里云OSS
在Spring Boot中实现阿里云OSS(Object Storage Service),你需要按照以下步骤操作:
- 引入阿里云OSS SDK依赖到你的
pom.xml
文件中。 - 配置阿里云OSS的访问密钥(AccessKeyId和AccessKeySecret)。
- 创建OSSClient实例。
- 使用OSSClient进行文件上传、下载、删除等操作。
以下是一个简单的例子:
- 添加依赖到
pom.xml
:
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.10.2</version>
</dependency>
- 在
application.properties
或application.yml
中配置OSS参数:
# 阿里云OSS参数配置
aliyun.oss.endpoint=你的EndPoint
aliyun.oss.accessKeyId=你的AccessKeyId
aliyun.oss.accessKeySecret=你的AccessKeySecret
aliyun.oss.bucketName=你的BucketName
- 创建配置类:
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class OssConfig {
@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);
}
}
- 使用OSSClient上传文件:
import com.aliyun.oss.OSS;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
@RestController
public class OssController {
@Autowired
private OSS ossClient;
@Autowired
private String bucketName;
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
try {
String fileName = file.getOriginalFilename();
ossClient.putObject(bucketName, fileName, file.getInputStream());
return "https://" + bucketName + "." + endpoint + "/" + fileName;
} catch (Exception e) {
e.printStackTrace();
return "上传失败";
}
}
}
评论已关闭