文章目录

  • 一、简介
  • 二、购买
  • 三、管理控制台新增Bucket
  • 四、在pom.xml中新增依赖
  • 五、获取密钥并保存到yml配置文件中
  • 六、编写Controller接口
  • 七、前端页面测试



一、简介

阿里云对象存储OSS(Object Storage Service)是一种海量、安全、低成本、高可靠的云存储服务。
通俗解释就是将系统所要用的文件上传到云硬盘上,该云硬盘提供了文件下载、上传等一列服务,这样的服务以及技术可以统称为OSS。
阿里云OSS详见:https://help.aliyun.com/product/31815.html

二、购买

购买页面:https://www.aliyun.com/product/oss 新用户可选择新人特惠,笔者已经不是新用户,按常规方式购买。

先点击立即开通(开通该服务是免费的),再购买折扣套餐

对象存储 OSS中Java异步上传 对象存储oss怎么用_上传


不同类型的区别:

我选择的标准类型

对象存储 OSS中Java异步上传 对象存储oss怎么用_java_02


对象存储 OSS中Java异步上传 对象存储oss怎么用_对象存储 OSS中Java异步上传_03


有不同类型可供选择,根据自己实际情况购买。我这里选择标准类型。

对象存储 OSS中Java异步上传 对象存储oss怎么用_阿里云_04

三、管理控制台新增Bucket

Bucket为存储空间,可以将其理解为云上存储文件的桶容器

点击主页右上角的控制台,找到并进入对象存储OSS

对象存储 OSS中Java异步上传 对象存储oss怎么用_上传_05


点击创建Bucket

对象存储 OSS中Java异步上传 对象存储oss怎么用_阿里云_06


按需选择和填写:

对象存储 OSS中Java异步上传 对象存储oss怎么用_java_07

四、在pom.xml中新增依赖

<!--阿里云OSS所需依赖 -->
<dependency>
	<groupId>com.aliyun.oss</groupId>
	<artifactId>aliyun-sdk-oss</artifactId>
	<version>3.16.0</version>
</dependency>

五、获取密钥并保存到yml配置文件中

对象存储 OSS中Java异步上传 对象存储oss怎么用_对象存储 OSS中Java异步上传_08


点击创建AccessKey

对象存储 OSS中Java异步上传 对象存储oss怎么用_阿里云_09


对象存储 OSS中Java异步上传 对象存储oss怎么用_阿里云_10


得到密钥后保存到properties.yml配置文件中,方便管理

对象存储 OSS中Java异步上传 对象存储oss怎么用_配置文件_11

# 在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
说明配置成功!
-->