一、注册阿里云账号
二、开通对象存储oss
- 首先找到对象存储oss
- 点击“立即开通”,开通对象存储业务
- 同意协议,立即开通
三、对象存储oss的使用
3.1 创建Bucket
3.1.1 进入“对象存储oss”控制台,创建Bucket:
注意:Bucket需要是唯一的才能常见成功。
3.1.2 测试上传功能
参考官方文档:https://help.aliyun.com/document_detail/84781.html
引入阿里云oss的依赖
<!-- 阿里云oss -->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.5.0</version>
</dependency>
使用测试模板进行测试 ```java // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。 String endpoint = “yourEndpoint”; // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 String accessKeyId = “yourAccessKeyId”; String accessKeySecret = “yourAccessKeySecret”;
// 创建OSSClient实例。 OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。 InputStream inputStream = new FileInputStream(“D:\localpath\examplefile.txt”); // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。 ossClient.putObject(“examplebucket”, “exampledir/exampleobject.txt”, inputStream);
// 关闭OSSClient。 ossClient.shutdown();
其中,
- `endpoint`:使用对应Bucket创建时选择的地域域名

- `accessKeyId`:
- 使用阿里云提供的AccessKey功能。

- 使用子账户创建AccessKey

- 若是第一次访问,需要开通 RAM 功能,此功能是用来做访问控制的
<br />
- 创建用户
<br /><br />可以填写登录名称,然后选择“OPEN API调用访问”,点击确定创建。<br />
- 选中创建的用户,点击下方“添加权限”根据需要为此账号添加相应的权限,这里选择`AliyunOSSFullAccess`,可以同时做读写操作,可根据实际需要调整。

- `accessKeySecret`:上步骤获取
3. 配置待上传文件本地路径,形成输入流
3. 给ossClient存入目标Bucket及对象名称和输入流
3. 开启测试
<a name="xCNlX"></a>
# 四、基于SpringCloud Alibaba OSS
<a name="ZAjBw"></a>
## 4.1 接入OSS
```xml
<!-- 阿里云oss -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alicloud-oss</artifactId>
</dependency>
4.2 配置参数
在application.yml文件中配置oss相关数据:
// 即AccessKeyId
alibaba.cloud.access-key=your-ak
// 即AccessKeySecret
alibaba.cloud.secret-key=your-sk
alibaba.cloud.oss.endpoint=***
4.3 修改测试类,进行测试
注入OSSClient,进行测试
@Autowired
OSSClient ossClient;
// 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
InputStream inputStream = new FileInputStream("E:\\Download\\Baidu\\BaiduNetdisk\\kakao.wav");
// 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
ossClient.putObject("gulimalllee", "kakao.wav", inputStream);
// 关闭OSSClient。
ossClient.shutdown();
// 上传成功
System.out.println("上传成功!");