开通阿里云对象存储功能

1.在阿里云官网找到对象存储OSS

在这里插入图片描述

2.通过各种授权(略)
3.进入对象存储的控制台

在这里插入图片描述
通过阅读帮助文档的基本概念,我们可以知道,bucket是一个存储容器。要使用对象存储,就要先新建一个bucket,可以理解问新建一个文件夹存储东西。
在这里插入图片描述

4.创建bucket

1)在Bucket列表下点击创建bucket
在这里插入图片描述
2)填写bucket名称,由于是会有重名的,所以看着取
在这里插入图片描述
3)地域按照个人需求选择
4)读写权限

私有:上传和读取都需要秘钥
公共读:读取不需要秘钥,上传需要;一般选择这种,只允许读取,不允许随便上传。
公共读写:上传和读取都不需要秘钥,不是很安全

5)剩余的按自己需求选择就好了,或者直接按他的默认
6)点击左下角确认,然后完成,即可创建成功

5.简单的上传个文件

1)在sdk示例下,有个快速上传的教程
在这里插入图片描述
2)首先要新建一个springboot项目(略),并加入对象存储的SDK,也就是依赖;他的依赖可以在Java->安装下找到
在这里插入图片描述

<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>3.10.2</version>
</dependency>

3)复制简单上传下,文件上传的代码到测试项目的测试方法中

//这是官方的示例
// Endpoint以杭州为例,其它Region请按实际情况填写。
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";

// 创建OSSClient实例。
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

// 上传文件流。
InputStream inputStream = new FileInputStream("<yourlocalFile>");
ossClient.putObject("<yourBucketName>", "<yourObjectName>", inputStream);

// 关闭OSSClient。
ossClient.shutdown();
//这是根据官方示例我写的代码
 @Test
    public void test() throws FileNotFoundException {
        // Endpoint以杭州为例,其它Region请按实际情况填写。
        String endpoint = "xxx";//需要替换的地方1,下面会说
        // 云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用RAM子账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建。
       
        String accessKeyId = "xx";  //需要替换的地方2
        String accessKeySecret = "xx";	//需要替换的地方3

        // 创建OSSClient实例。
       
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);

        // 上传文件流。
        InputStream inputStream = new FileInputStream("D:\\桌面壁纸\\1597764688664.jpg");//文件地址
        ossClient.putObject("xxx", "test.jpg", inputStream);//第一个参数是刚才新建的bucket名称,第二个参数是这个文件上传到服务器的名字

        // 关闭OSSClient。
        ossClient.shutdown();
        System.out.println("上传完毕");
    }

4)上面变量endpoint是需要替换的,他是某个bucket->概览下的endpoint,就是下图红框的地方
在这里插入图片描述
5)变量accessKeyId和accessKeySecret也是需要补充的,步骤如下:
1)把鼠标放到右上角的头像,点击accessKey管理。打开的页面会提示是否使用accessKey,选择是
在这里插入图片描述
2)在页面新建一个用户
3)填写登录名称和显示名称,这个不会重名,选择编程访问,因为我们是在代码中使用的
在这里插入图片描述
4)点击确定后,就可以看到assessKey和assessKeySecret,但是切记要保存好,因为关了貌似就看不到secret了,反正我是没找到。把这两个变量补充到代码上。
5)接着就是在刚才页面给该用户添加权限
在这里插入图片描述
6)直接添加fullassess,然后确定在这里插入图片描述

7)运行测试代码,成功
在这里插入图片描述
8)进入bucket的文件管理,就能看到上传的文件。点击详情,可以看到他的信息
在这里插入图片描述
在这里插入图片描述
9)复制最下面的连接,在浏览器地址栏上打开,可以看到图片。那么直接把这个用在放到前端也是OK的

10)这种上传方式,如果在前后端分离项目,图片还要用流的方式经过我们自己的项目,这样会浪费项目带宽;但是如果把assessKey和secret保存在前端又不是很安全,所以阿里云还可以使用服务端签名的方式上传。如果使用了阿里巴巴的微服务组件,文件上传更便捷。有兴趣的话就自行阅读官方文档吧。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值