1. 进入阿里云官网搜索oss,选择对象存储OSS
2. 创建Bucket(如果你没有开通对象存储OSS需要先开通一下)
创建完成之后会进入到这个页面
5. 引入依赖到pom.xml文件当中
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.15.1</version>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>javax.activation</groupId>
<artifactId>activation</artifactId>
<version>1.1.1</version>
</dependency>
<!-- no more than 2.3.3-->
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.3</version>
</dependency>
6. 封装工具类
/**
* 阿里云 OSS 工具类
*/
@Component //加入到IOC
public class AliOSSUtils {
private String endpoint = ""; //你的地域节点地址
private String accessKeyId = ""; //你的accessKeyId 点击阿里云右上角头像accessKey管理可查看
private String accessKeySecret = ""; //accessKeySecret 点击阿里云右上角头像accessKey管理可查看
private String bucketName = ""; //你的Bucket 名称
/**
* 实现上传图片到OSS
*/
public String upload(MultipartFile file) throws IOException {
// 获取上传的文件的输入流
InputStream inputStream = file.getInputStream();
// 避免文件覆盖
String originalFilename = file.getOriginalFilename();
String fileName = UUID.randomUUID().toString() + originalFilename.substring(originalFilename.lastIndexOf("."));
//上传文件到 OSS
OSS ossClient = new OSSClientBuilder().build("https://" + endpoint, accessKeyId, accessKeySecret);
ossClient.putObject(bucketName, fileName, inputStream);
//文件访问路径
String url = endpoint.split("//")[0] + "//" + bucketName + "." + endpoint.split("//")[1] + "/" + fileName;
// 关闭ossClient
ossClient.shutdown();
return url;// 把上传到oss的路径返回
}
}
endpoint和bucketName获取 点击概述复制对应的数据
accessKeyId和accessKeySecret获取(按照以下步骤之间创建就行,accessKeySecret一定要保存好,一旦点击确定创建后就不能在查看了)
使用调试工具测试,返回图片链接
@Autowired
private AliOSSUtils aliOSSUtils;
@PostMapping("/upload")
public Result upload(MultipartFile image) throws IOException {
String url = aliOSSUtils.upload(image);
return Result.success(url);
}
查看列表也存进来了