博客
关于我
OSS 前端直传的后端签名过程
阅读量:699 次
发布时间:2019-03-17

本文共 1963 字,大约阅读时间需要 6 分钟。

OSS 前端直传 的 后端 签名 处理

在 本文 中,我们 将 详细介绍 OSS 前端 直传 到 后端 的 签名 处理流程。该流程 涉及 到 生成 签名 URL 的 方法,确保 前端 直传 到 Oss 服务器 的 请求 被正确 验证 并 执行。

1. 获取 Oss 配置信息

在 开始 处理 前,首先 需要 获取 Oss 的 配置 信息。这些 配置 信息 包括 Oss 的 域名、访问 密钥 等。可以 从 配置 文件 或 数据库 中 获取。以下 是 获取 配置 信息 的 代码示例:

OSSConfig ossConfig = new OSSConfig();
ossConfig.setDomain("your-oss-domain");
ossConfig.setAccessKey("your-access-key");
ossConfig.setSecretKey("your-secret-key");

2. 生成 签名 URL

通过 生成 签名 URL,可以 给 前端 返回 需要上传 资源 的 URL。以下 是 生成 签名 URL 的 核心 逻辑:

  • 获取 元数据:获取 要上传 资源 的 元数据,包括 文件 的 名称、大小、 MIME 类型 等。

  • 生成 policy:使用 Oss 客户端 创建一个新的 签名策略(Policy),指定 匹配模式(MatchMode)和 条件(PolicyConditions)。

  • 签名验证:将生成的 policy 进行签名验证,确保 签名 的 合法性。

  • 返回 签名 URL:将 签名 URL 返回 给 前端,前端 可以 直接 使用该 URL 进行 资源上传。

  • 3. 处理 条件请求

    在 生成 签名 URL 的同时,需要 处理 条件请求(Condition)。条件请求 可以 包括 文件 的 MD5 值、大小、 MIME 类型 等信息。以下 是 条件请求 的 示例:

    Map
    conditions = new HashMap<>();
    conditions.put("key", "prefix=folder1/");
    conditions.put("key", "filename*.md");

    4. 签名策略 的 匹配 模式

    在 签名策略 中,匹配 模式(MatchMode)决定了 签名策略 如何 匹配 资源。常用的匹配 模式 有两种:

    • MatchMode NONE:不限制 资源 的 匹配规则。
    • MatchMode Exact:严格匹配 资源 的 名称、大小和 MIME 类型。

    5. 签名策略 的 条件集合

    签名策略 的 条件集合(PolicyConditions)可以 包括 多个 条件。这些 条件 会被 并联执行,确保 资源 满足 所有 条件 才能 进行 签名。

    6. 签名 URL 的 有效期

    生成 的 签名 URL 通常 会设置 有效期,确保 资源 在 有效期 内 可以 被上传。如果 有效期过短,可以 在 签名策略 中 增加 有效期。

    7. 前端 直传 到 Oss

    前端 直传 到 Oss 的 详细流程 如下:

  • 前端 发送 HTTP 请求 到 后端 的 直传 接口。
  • 后端 接收 到 请求 后,根据 签名 URL 生成 签名。
  • 后端 返回 给 前端 签名 URL。
  • 前端 使用 签名 URL 直接 调用 Oss 客户端 进行 资源上传。
  • 8. 签名 URL 的 加密

    为了 增强 安全性,签名 URL 可以 被 加密。前端 在 调用 直传 接口 时,传递 加密 的签名 URL。后端 收到 后,解密 签名 URL 并 进行 验证。

    9. 处理 上传 过程

    在 上传 过程 中,需要 处理 大文件 的 分割上传。Oss 提供了 分割上传 的 接口,可以 将 大文件 分成 多个 小片 进行 上传。

    10. 签名 签名 的 验证

    在 上传 过程 中,必须 确保 签名 的 验证 是 成功的。如果 签名 验证 失败,需要 处理 相应的 错误 信息。

    11. 优化 和 错误 处理

    在 实现过程 中,需要 对 签名 URL 的 有效性 进行 检查,避免 假 签名 URL 被 运用。此外,错误 处理 也 是 关键环节之一。

    12. 性能 优化

    在 高并发 的场景 下,需要 对 签名 URL 的 生成 和 验证 进行 优化。可以 考虑 缓存 签名 URL,减少 服务器 的 负载。

    通过以上 步骤,可以清楚地 看到 OSS 前端 直传 的 后端 签名 处理 的详细流程。该流程 的 关键 在于 生成 签名 URL 的 方法,以及 前端 和 后端 之间 的通信机制。通过 合理 的 签名策略 和 条件设置,可以 确保 资源 的 安全性 和 有效性。

    转载地址:http://qopez.baihongyu.com/

    你可能感兴趣的文章
    mysql高级查询~分页查询
    查看>>
    MySQL高频面试题
    查看>>
    MySQL(2)DDL详解
    查看>>
    Mysql,sql文件导入和导出
    查看>>
    Mysql:mysql 5.X 报错 ERROR 1193 (HY000): Unknown system variable ‘validate_password_length‘
    查看>>
    MySQL:MySQL执行一条SQL查询语句的执行过程
    查看>>
    Mysql:SQL性能分析
    查看>>
    mysql:SQL按时间查询方法总结
    查看>>
    MySQL:什么样的字段适合加索引?什么样的字段不适合加索引
    查看>>
    MySQL:判断逗号分隔的字符串中是否包含某个字符串
    查看>>
    MySQL:某个ip连接mysql失败次数过多,导致ip锁定
    查看>>
    Mysql:避免重复的插入数据方法汇总
    查看>>
    m_Orchestrate learning system---二十二、html代码如何变的容易
    查看>>
    n = 3 , while n , continue
    查看>>
    n 叉树后序遍历转换为链表问题的深入探讨
    查看>>
    N-Gram的基本原理
    查看>>
    nacos config
    查看>>
    Nacos 与 Eureka、Zookeeper 和 Consul 等其他注册中心的区别
    查看>>
    Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制
    查看>>
    NacosClient客户端搭建,微服务注册进nacos
    查看>>