博客
关于我
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/

    你可能感兴趣的文章
    mac mysql 进程_Mac平台下启动MySQL到完全终止MySQL----终端八步走
    查看>>
    Mac OS 12.0.1 如何安装柯美287打印机驱动,刷卡打印
    查看>>
    MangoDB4.0版本的安装与配置
    查看>>
    Manjaro 24.1 “Xahea” 发布!具有 KDE Plasma 6.1.5、GNOME 46 和最新的内核增强功能
    查看>>
    mapping文件目录生成修改
    查看>>
    MapReduce程序依赖的jar包
    查看>>
    mariadb multi-source replication(mariadb多主复制)
    查看>>
    MariaDB的简单使用
    查看>>
    MaterialForm对tab页进行隐藏
    查看>>
    Member var and Static var.
    查看>>
    memcached高速缓存学习笔记001---memcached介绍和安装以及基本使用
    查看>>
    memcached高速缓存学习笔记003---利用JAVA程序操作memcached crud操作
    查看>>
    Memcached:Node.js 高性能缓存解决方案
    查看>>
    memcache、redis原理对比
    查看>>
    memset初始化高维数组为-1/0
    查看>>
    Metasploit CGI网关接口渗透测试实战
    查看>>
    Metasploit Web服务器渗透测试实战
    查看>>
    MFC模态对话框和非模态对话框
    查看>>
    Moment.js常见用法总结
    查看>>
    MongoDB出现Error parsing command line: unrecognised option ‘--fork‘ 的解决方法
    查看>>