文章目录
- 一、简介
- 二、购买
- 三、管理控制台新增Bucket
- 四、在pom.xml中新增依赖
- 五、获取密钥并保存到yml配置文件中
- 六、编写Controller接口
- 七、前端页面测试
一、简介
阿里云对象存储OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务。
通俗解释就是将系统所要用的文件上传到云硬盘上,该云硬盘提供了文件下载、上传等一列服务,这样的服务以及技术可以统称为OSS。
阿里云OSS详见:https://help.aliyun.com/product/31815.html
二、购买
购买页面:https://www.aliyun.com/product/oss 新用户可选择新人特惠,笔者已经不是新用户,按常规方式购买。
先点击立即开通(开通该服务是免费的),再购买折扣套餐。
不同类型的区别:
我选择的标准类型
有不同类型可供选择,根据自己实际情况购买。我这里选择标准类型。
三、管理控制台新增Bucket
Bucket为存储空间,可以将其理解为云上存储文件的桶容器。
点击主页右上角的控制台,找到并进入对象存储OSS。
点击创建Bucket
按需选择和填写:
四、在pom.xml中新增依赖
<!--阿里云OSS所需依赖 -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.16.0</version>
</dependency>
五、获取密钥并保存到yml配置文件中
点击创建AccessKey
得到密钥后保存到properties.yml配置文件中,方便管理
# 在properties.yml中存储OSS相关参数 相关参数参考上图
aliOSS:
EndPoint: oss-cn-chengdu.aliyuncs.com # 地域节点 详见上图
BucketURL: https://silas103.oss-cn-chengdu.aliyuncs.com/ # 参考上图中的Bucket域名
BucketName: silas103 # 创建bucket时取的名字
AccessKeyID: # your AccessKeyID
AccessKeySecret: # your AccessKeySecret
六、编写Controller接口
// 该方法写在Controller类中
@Value("${aliOSS.EndPoint}")
public String endPoint;// 地域节点
@Value("${aliOSS.BucketURL}")
public String bucketURL;// bucket公网域名
@Value("${aliOSS.BucketName}")
public String bucketName;// bucket名称
@Value("${aliOSS.AccessKeyID}")
public String accessKeyID;
@Value("${aliOSS.AccessKeySecret}")
public String accessKeySecret;
@SneakyThrows// lombok注解处理异常
@PostMapping("fileUpload")
public Result upload(MultipartFile file){
String rawName = file.getOriginalFilename();// 获取原始文件名称
OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyID, accessKeySecret);// 创建OSS连接服务对象
ossClient.putObject(bucketName, rawName, file.getInputStream());// 向bucket中存文件
String fileURL = bucketURL +rawName;// 文件的url
return Result.success(200, "上传成功", fileURL);
}
七、前端页面测试
<body>
<form action="/fileUpload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="上传">
</form>
</body>
<!--
我这里测试的返回结果中包含了图片链接:https://silas103.oss-cn-chengdu.aliyuncs.com/xxx.jpg
说明配置成功!
-->