图片.png

一、对象存储OSS

图片.png
为了解决海量数据存储与弹性扩容,项目中我们采用云存储的解决方案- 阿里云OSS。

1、开通“对象存储OSS”服务

(1)申请阿里云账号
(2)实名认证
(3)开通“对象存储OSS”服务
(4)进入管理控制台

2、创建Bucket

选择:标准存储、公共读、不开通
图片.png

3、上传默认头像

创建文件夹avatar,上传默认的用户头像
图片.png

4、创建RAM子用户


图片.png

二、使用SDK

图片.png图片.png
图片.png图片.png图片.png

1、创建Mavaen项目

com.atguigu
aliyun-oss

2、pom

  1. <dependencies>
  2. <!--aliyunOSS-->
  3. <dependency>
  4. <groupId>com.aliyun.oss</groupId>
  5. <artifactId>aliyun-sdk-oss</artifactId>
  6. <version>2.8.3</version>
  7. </dependency>
  8. <dependency>
  9. <groupId>junit</groupId>
  10. <artifactId>junit</artifactId>
  11. <version>4.12</version>
  12. </dependency>
  13. </dependencies>

3、找到编码时需要用到的常量值

(1)endpoint
(2)bucketName
(3)accessKeyId
(4)accessKeySecret

4、测试创建Bucket的连接

图片.png

  1. package com.atguigu.oss;
  2. public class OSSTest {
  3. // Endpoint以杭州为例,其它Region请按实际情况填写。
  4. String endpoint = "your endpoint";
  5. // 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
  6. String accessKeyId = "your accessKeyId";
  7. String accessKeySecret = "your accessKeySecret";
  8. String bucketName = "guli-file";
  9. @Test
  10. public void testCreateBucket() {
  11. // 创建OSSClient实例。
  12. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  13. // 创建存储空间。
  14. ossClient.createBucket(bucketName);
  15. // 关闭OSSClient。
  16. ossClient.shutdown();
  17. }
  18. }

5、判断存储空间是否存在

图片.png

  1. @Test
  2. public void testExist() {
  3. // 创建OSSClient实例。
  4. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  5. boolean exists = ossClient.doesBucketExist(bucketName);
  6. System.out.println(exists);
  7. // 关闭OSSClient。
  8. ossClient.shutdown();
  9. }

6、设置存储空间的访问权限

  1. @Test
  2. public void testAccessControl() {
  3. // 创建OSSClient实例。
  4. OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
  5. // 设置存储空间的访问权限为:公共读。
  6. ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead);
  7. // 关闭OSSClient。
  8. ossClient.shutdown();
  9. }

三、nginx的使用

图片.png图片.png
图片.png