一、注册阿里云账号

注册阿里云账号,实名认证之后即可进行对象存储oss的开通。

二、开通对象存储oss

  1. 首先找到对象存储oss

image.png

  1. 点击“立即开通”,开通对象存储业务

image.png

  1. 同意协议,立即开通

image.png
开通成功:
image.png
对象存储oss中的一些基本概念:
image.png
image.png

三、对象存储oss的使用

3.1 创建Bucket

3.1.1 进入“对象存储oss”控制台,创建Bucket:

image.png

注意:Bucket需要是唯一的才能常见成功。image.png

image.png

3.1.2 测试上传功能

参考官方文档:https://help.aliyun.com/document_detail/84781.html

  1. 引入阿里云oss的依赖

    1. <!-- 阿里云oss -->
    2. <dependency>
    3. <groupId>com.aliyun.oss</groupId>
    4. <artifactId>aliyun-sdk-oss</artifactId>
    5. <version>3.5.0</version>
    6. </dependency>
  2. 使用测试模板进行测试 ```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();

  1. 其中,
  2. - `endpoint`:使用对应Bucket创建时选择的地域域名
  3. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641131872128-c3b0e1ac-d1c2-4e72-a780-1b62447351ab.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=665&id=u8c7d0466&margin=%5Bobject%20Object%5D&name=image.png&originHeight=665&originWidth=1203&originalType=binary&ratio=1&rotation=0&showTitle=false&size=72723&status=done&style=none&taskId=u49d6036f-0e88-40c9-9e35-095fcc2ee86&title=&width=1203)
  4. - `accessKeyId`
  5. - 使用阿里云提供的AccessKey功能。
  6. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641131973713-21350673-96c4-4687-b4a6-063ef44b5b89.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=420&id=u0d6441fb&margin=%5Bobject%20Object%5D&name=image.png&originHeight=420&originWidth=349&originalType=binary&ratio=1&rotation=0&showTitle=false&size=19626&status=done&style=none&taskId=ub9e9105a-e4a1-4305-b74b-0d90101b3bf&title=&width=349)
  7. - 使用子账户创建AccessKey
  8. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641132012664-a0427b4c-97a7-4803-87b1-7dff88a7f85b.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=496&id=u4a65f5ee&margin=%5Bobject%20Object%5D&name=image.png&originHeight=496&originWidth=1009&originalType=binary&ratio=1&rotation=0&showTitle=false&size=49015&status=done&style=none&taskId=u26dac00a-9b2d-4a93-9835-5ab3fef1560&title=&width=1009)
  9. - 若是第一次访问,需要开通 RAM 功能,此功能是用来做访问控制的
  10. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641132135605-a6ca3e11-d445-4579-b367-addcba90ebdf.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=175&id=u86ef5461&margin=%5Bobject%20Object%5D&name=image.png&originHeight=175&originWidth=791&originalType=binary&ratio=1&rotation=0&showTitle=false&size=41702&status=done&style=none&taskId=u931076c5-73e6-45f6-8bd1-9fe184fd9fc&title=&width=791)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641132159728-5fe4ba68-51b2-4399-bda8-3c6a270d64b6.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=278&id=u6d5b9053&margin=%5Bobject%20Object%5D&name=image.png&originHeight=278&originWidth=559&originalType=binary&ratio=1&rotation=0&showTitle=false&size=33397&status=done&style=none&taskId=u5f2a5c50-50a3-44cd-a08e-816cad446e6&title=&width=559)
  11. - 创建用户
  12. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641132295863-d4df344a-aa81-4c71-8d05-dd8d5090a9d4.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=445&id=u15da5838&margin=%5Bobject%20Object%5D&name=image.png&originHeight=445&originWidth=1164&originalType=binary&ratio=1&rotation=0&showTitle=false&size=46077&status=done&style=none&taskId=u0fd9a8be-133a-4ada-b277-a97a53887f9&title=&width=1164)<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641132382861-3ee9b37e-d19e-407c-ae42-15ed9d94e5f2.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=426&id=udd923987&margin=%5Bobject%20Object%5D&name=image.png&originHeight=426&originWidth=963&originalType=binary&ratio=1&rotation=0&showTitle=false&size=36614&status=done&style=none&taskId=uf9765bd2-96b8-4f61-972d-214fbfe31e2&title=&width=963)<br />可以填写登录名称,然后选择“OPEN API调用访问”,点击确定创建。<br />![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641132533063-405d808c-f6ef-4b3a-a5fd-775ed75b87c2.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=499&id=u350116bf&margin=%5Bobject%20Object%5D&name=image.png&originHeight=499&originWidth=1222&originalType=binary&ratio=1&rotation=0&showTitle=false&size=43166&status=done&style=none&taskId=uc3043c3c-90b0-49f9-b3bf-51322c75e84&title=&width=1222)
  13. - 选中创建的用户,点击下方“添加权限”根据需要为此账号添加相应的权限,这里选择`AliyunOSSFullAccess`,可以同时做读写操作,可根据实际需要调整。
  14. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/22365594/1641132798308-9834cb1b-207b-4382-9dc9-b16de8f478d3.png#clientId=u869c7004-3e9d-4&crop=0&crop=0&crop=1&crop=1&from=paste&height=212&id=uf8cc7f04&margin=%5Bobject%20Object%5D&name=image.png&originHeight=212&originWidth=851&originalType=binary&ratio=1&rotation=0&showTitle=false&size=10366&status=done&style=none&taskId=u1e9273c8-6672-4481-b6c5-7db737fbaed&title=&width=851)
  15. - `accessKeySecret`:上步骤获取
  16. 3. 配置待上传文件本地路径,形成输入流
  17. 3. ossClient存入目标Bucket及对象名称和输入流
  18. 3. 开启测试
  19. <a name="xCNlX"></a>
  20. # 四、基于SpringCloud Alibaba OSS
  21. <a name="ZAjBw"></a>
  22. ## 4.1 接入OSS
  23. ```xml
  24. <!-- 阿里云oss -->
  25. <dependency>
  26. <groupId>com.alibaba.cloud</groupId>
  27. <artifactId>spring-cloud-starter-alicloud-oss</artifactId>
  28. </dependency>

4.2 配置参数

在application.yml文件中配置oss相关数据:

  1. // 即AccessKeyId
  2. alibaba.cloud.access-key=your-ak
  3. // 即AccessKeySecret
  4. alibaba.cloud.secret-key=your-sk
  5. alibaba.cloud.oss.endpoint=***

4.3 修改测试类,进行测试

注入OSSClient,进行测试

  1. @Autowired
  2. OSSClient ossClient;
  3. // 填写本地文件的完整路径。如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
  4. InputStream inputStream = new FileInputStream("E:\\Download\\Baidu\\BaiduNetdisk\\kakao.wav");
  5. // 依次填写Bucket名称(例如examplebucket)和Object完整路径(例如exampledir/exampleobject.txt)。Object完整路径中不能包含Bucket名称。
  6. ossClient.putObject("gulimalllee", "kakao.wav", inputStream);
  7. // 关闭OSSClient。
  8. ossClient.shutdown();
  9. // 上传成功
  10. System.out.println("上传成功!");

五、web端获取服务器签名直接上传

image.png

image.png
image.png