springboot整合阿里云OSS做服务端签名让微信小程序文件直传OSS

springboot整合阿里云OSS做服务端签名让微信小程序文件直传OSS

1、需求:

想让小程序直接上传图片、文件到OSS存储,不需要经过我的服务器接收文件再转发到OSS存储。

好处
  • 可以减轻自己服务器的压力,和不必要的麻烦。

  • 有利于维护和扩展(比如扩容、迁移等等)。

  • 可以更加快的存储到OSS中,不需要多次来回传输。

  • 不占用自己服务器的带宽,阿里的OSS节点处理更快。

  • 等等。。。

2、基本原理介绍(官方描述,我觉得很简单了)

在这里插入图片描述

服务端签名后前端(小程序)直传的原理如下:

  1. 用户发送请求到自己服务器获取上传的Policy和签名。
  2. 自己的服务器返回前端直传oss需要Policy和签名给用户。
  3. 用户直接上传数据到OSS。

3、springboot 搞起来

1.新建一个springboot 项目,添加依赖

<!--阿里oss-->
<dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>2.8.3</version>
</dependency>

2.编写一个OSS的配置类(可以根据自己的需求来,注入等方式都可以)

public class AliOssConfig {
   
    /**
     * 填写您的AccessKeyId
     */
    public final static String accessId = "xxxx";
    /**
     * 填写您的AccessKeySecret
     */
    public final static String accessKey = "xxxxx";
    /**
     * 填写您的 endpoint(地域节点),就是你OSS的区域节点的域名
     */
    public final static String endpoint = "xxxx.aliyuncs.com";
    /**
     * 填写您的 bucketName ,就是你再OSS创建Bucket的名称
     */
    public final static String bucket = "xxx";
    /**
     * 直传地址,格式为 bucketName.endpoint (Bucket域名)
     */
    public final static String host = "https://" + bucket +"."+ endpoint;

    /*
     * ============= 配置上传过期时间、大小等等 =========
     */
    /**
     * 上传截止时间(秒)
     */
    public final static long expireTime = 30;

    /**
     * 上传文件最小(字节)
     */
    public final static long min = 0;
    
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值