【学相伴】接入OSS后访问速度快了10倍

问题场景

一个thymeleaf项目,上传图片、视频是直接使用Java代码保存到服务器上

于是服务器压力激增,网页静态资源变得卡顿

于是我们需要将图片、视频上传移植到阿里云OSS上

阿里云对象存储OSS(Object Storage Service)是阿里云提供的海量、安全、低成本、高持久的云存储服务。

一句话描述:它是一个很棒的存取文件的在线服务器

我们可以使用它进行客户端上传,文件不通过服务端也可以上传,这样减轻了我们服务端压力

我们需要一系列配置才可以对接完成,查阅阿里云OSS官方文档发现:JavaScript客户端签名直传的方式最为简单,但这种方式是有弊端的,客户端通过JavaScript把存取文件的认证信息写在代码里面有泄露的风险

因此我们采用服务端签名后直传的方式进行上传文件,我们待会儿介绍~

准备工作

登录阿里云官网

将鼠标移至产品,单击对象存储 OSS,打开 OSS 产品详情页面。

在 OSS 产品详情页,单击立即开通。

开通服务后,在 OSS 产品详情页单击管理控制台直接进入 OSS 管理控制台界面。

您也可以单击位于官网首页右上方菜单栏的控制台,进入阿里云管理控制台首页,然后单击左侧的对象存储 OSS 菜单进入 OSS 管理控制台界面。

根据官方文档提供步骤视频可以完成开通、创建Bucket、进行授权、配置跨域等 我们到阿里云RAM访问控制台来添加一个用户

添加用户

填入用户账号信息、勾选编程访问后点击确定

填入信息

然后我们点击复制,找个地方粘贴下来我们的AccessKey ID以及AccessKey Secret

复制密钥

然后我们点击添加权限为该用户授权

添加权限
选择权限
授权完成

开始对接

官方文档流程图片:
图片介绍

这里可以这么理解:

假设小王接到老板的任务:将这堆货物放到仓库中去,但仓库大门的门禁需要门卡

所以上图中的类比

1:小王去保管室拿门卡

2:小王拿到门卡回来

3:小王搬运货物到仓库,存放货物

因此我们首先先做“保管室”的功能

后端代码实现

这里就是用我们的Java代码在服务端实现:

引入alicloud-oss的依赖

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

application.yml,注意版本或者依赖不同,配置有可能改变,例如我最下面的Demo使用的boot的依赖(配置方式发生了变化,不过我们代码都还是一样的,只是注意@Value需要写对)

spring:
  cloud:
    alicloud:
      access-key: <你的AccessKey>
      secret-key: <你的SecretKey>
      oss:
 
  • 21
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 11
    评论
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值