You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Firestore哈希处理的存储URL中提取英文文件名?

提取Firestore存储URL中的原始文件名

可以通过字符串处理的方式,针对URL的固定结构提取原始文件名,具体实现如下:

JavaScript 实现代码

function extractOriginalFilename(url) {
    // 提取 test/ 之后到 .png 之前的核心部分
    const coreSegment = url.split('test/')[1].replace('.png', '');
    // 定位最后一个连字符的位置(哈希值的起始标记)
    const lastDashPos = coreSegment.lastIndexOf('-');
    // 截取最后一个连字符之前的内容,即为原始文件名
    return coreSegment.slice(0, lastDashPos);
}

// 测试示例
const testUrls = [
    "https://storage.googleapis.com/test/agency-register-crrRhaUSWopn4QRc2M54MX.png",
    "https://storage.googleapis.com/test/agency-register-documents-crrRhaUSWopn4QRc2M54MX.png",
    "https://storage.googleapis.com/test/agencyRegister-crrRhaUSWopn4QRc2M54MX.png",
    "https://storage.googleapis.com/test/agency-crrRhaUSWopn4QRc2M54MX.png"
];

testUrls.forEach(url => {
    console.log(extractOriginalFilename(url));
});

代码逻辑说明

  1. 分割URL:通过split('test/')拿到test/之后的部分,再用replace('.png', '')去掉后缀,得到包含原始文件名和哈希值的核心片段。
  2. 定位哈希起始点:利用lastIndexOf('-')找到最后一个连字符的位置——因为哈希值总是在原始文件名的最后一个连字符之后。
  3. 截取原始文件名:从核心片段的开头截取到最后一个连字符之前的内容,就是你需要的原始文件名。

运行结果

执行上述代码后,控制台会依次输出:

  • agency-register
  • agency-register-documents
  • agencyRegister
  • agency

内容的提问来源于stack exchange,提问作者Mert Yılmaz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 02:57:29