云存储开通并使用以及测试

1、支付宝扫码登陆阿里云官网;

官网地址:https://account.aliyun.com/login/login.htm
image
点击产品,选择对象存储
image
进去之后,点击立即开通
image
如果已经开通过,会这样提示(那你直接点击控制台就可以)
image
如果是首次使用阿里云网站,那么需要绑定手机号等一些个人信息,可能还需要实名认证,之后再点击立即开通,就可以了
因为我已经开通过,而且已经创建过一个Bucket,所以界面是这样的
image
下面演示新建一个Bucket;(Bucket是存储空间,推荐一个项目一个Bucket)
点击Bucket列表,再点击创建Bucket;
image
建议按照我这样选择(地域就近选择就好),如果你很有钱,当我没说;
image
点击确定
image
点击以后再说
image
这就是刚才创建的一个Bucket
image

2、在oss里测试文件上传;

点击左侧文件管理,点击文件上传
image
点击扫描文件(选择一个文件)
image
文件就会显示在下方
image
点击上传文件,右侧显示任务列表,提示上传成功
image
再次点击文件管理,会显示你刚才上传的文件
image
点击右侧的详情,有一个url地址
image
复制到浏览器直接打开,然后左下角就会自动下载了
image

3、原生java-sdk测试上传文件到oss

  • 导入maven依赖
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.5.0</version>
</dependency>
  • 示例代码
@Test
public void test() throws FileNotFoundException {
    String endPoint = "xxx";
    String accessKeyId = "xxxx";
    String accessKeySecret = "xxx";
    OSS ossClient = new OSSClientBuilder().build(endPoint, accessKeyId, accessKeySecret);
    InputStream inputStream = new FileInputStream("D:\xxx\1.jpg");
    ossClient.putObject("gulimall-kaka","xxx.jpg",inputStream);

    ossClient.shutdown();
    System.out.println("上传完成。");
}

参数解释:
endPoint是访问域名:(刚才创建Bucket的时候,会有显示,找到自己的地址)
image
accessKeyId和accessKeySecret:
因为直接输入支付宝账号密码不靠谱,所以阿里云用了一个子账号来登录,会生成这两个字段;鼠标移到右上角头像上,点击AccessKey管理
image
点击开始使用子账户AssessKey管理(如果是第一次访问,需要先开通RAM访问控制,按照提示来即可)
image
点击创建用户
image
输入登录名称,显示名称以及勾上编程访问,会收到一个手机验证码验证,输入即可。
image
点击确定,然后就可以看到这两个字段了,放到代码里即可
image
new FileInputStream(""):参数是自己本地文件的地址;
putObject(三个参数):第一个参数是刚才创建的hello-wtf,第二个参数是自定义一个名字;

不过现在阿里云上文件上传的sdk已经不是这个版本了,参考文档即可 https://help.aliyun.com/document_detail/32009.html

4、用springcloudalibaba-oss实现对象存储

引入依赖(2.1.0.RELEASE版本)

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alicloud-oss</artifactId>
</dependency>

/////////////////////////////////////////////
这里引入依赖有个恶心的问题:
刚开始怎么都导入不了,因为现在官网 https://github.com/alibaba/aliyun-spring-boot/tree/master/aliyun-spring-boot-samples/aliyun-oss-spring-boot-sample ,已经不是这么写了;用官网最新的话,怎么都引入不了,
你还得修改springboot和springcloud的版本;所以我用了我项目中用的2.1.0.RELEASE版本,但是需要修改settings的镜像mirror属性,这样就可以引入了。
image
现在最新的依赖是这样的,artifactId都变了
image
/////////////////////////////////////////////
在application.yml中引入配置信息(都是刚才RAM权限控制里生成的)

spring:
  cloud:
    alicloud:
      access-key: xxx
      secret-key: xxx
      oss:
        endpoint: xxx

直接测试:(这里用@Autowired会爆红,但是不影响使用,强迫症可以使用@Resource)

@Autowired
OSSClient ossClient;
@Test
public void test1() throws FileNotFoundException {
    InputStream inputStream = new FileInputStream("E:\wallpapercache\img\465f19833579e9332a130328bf2015b0.jpg");
    ossClient.putObject("gulimall-kaka","kaka_01.jpg",inputStream);
    ossClient.shutdown();
    System.out.println("上传完成。");
}

查看oss管理控制台:(刚才的文件都已经上传,而且复制url在浏览器中,图片自动下载,打开确认完好。)
image

原文地址:https://www.cnblogs.com/kaka-qiqi/p/14673094.html