Skip to main content

generate_cdn_url

Function generate_cdn_url 

Source
pub fn generate_cdn_url(
    cdn_domain: &str,
    cdn_key: &str,
    object_key: &str,
) -> Option<String>
Expand description

生成腾讯云 CDN TypeD 鉴权下载链接

对指定对象生成有时效的 CDN 下载链接,防止盗链。 签名有效期为长期(时间戳生成后永久可访问), 若需更严格的控制可修改为添加过期参数。

§参数

  • cdn_domain: CDN 加速域名,如 "ossdev.yuriful.top"
  • cdn_key: CDN 鉴权密钥(从配置加载)
  • object_key: COS 对象 Key,如 "manga_1/episode_2/file.7z"

§返回值

  • Some(url) — 生成成功,返回完整的鉴权下载链接
  • None — CDN 域名或密钥为空,无法生成鉴权 URL

§路径编码

对象 Key 中的特殊字符(中文、空格、!* 等)会被 URL 编码, 保留 / 分隔符以保持路径结构。

§示例

let url = generate_cdn_url("cdn.example.com", "mykey", "manga/cover.jpg");
// => "https://cdn.example.com/manga/cover.jpg?sign=abc123&t=1710000000"