Firebase 调整图像扩展大小

Luk*_*sen 2 firebase google-cloud-platform google-cloud-functions

官方 Firebase 调整图像大小扩展在文档中声明:

该扩展程序会自动将以下元数据(如果存在)从原始图像复制到调整大小的图像:缓存控制、内容处置、内容编码、内容语言、内容类型和用户提供的元数据(如果原始元数据包含令牌,则将在调整大小的图像上生成新的 Firebase 存储下载令牌。请注意,您可以选择配置扩展以覆盖已调整大小的图像的 Cache-Control 值。


对我来说重要的部分是:

如果原始元数据包含令牌,则将在调整大小的图像上生成新的 Firebase 存储下载令牌

这是个问题。调整大小后的图像的下载令牌对于所有尺寸都是相同的。但它与原始文件中的标记不同。我希望它们具有与原始文件相同的下载令牌。

请注意,您可以选择配置扩展以覆盖调整大小的图像的 Cache-Control 值

您也可以按照我需要的方式覆盖它吗?因此,调整大小的图像版本具有与原始文件相同的下载令牌。

小智 7

没有内置方法可以保留旧令牌,但是有一种方法可以在更改图像调整大小扩展函数的代码时保留原始图像中的旧令牌:

  1. 启用 >调整图像大小

  2. 转到 > Google Cloud Console选项卡,单击ext-storage-resize-images-generateResizedImage并单击编辑>配置>代码

  3. 浏览到 lib/resize-image.js 并搜索此代码片段并注释删除它。

    if (metadata.metadata.firebaseStorageDownloadTokens) {
       metadata.metadata.firebaseStorageDownloadTokens = uuidv4_1.uuid();
    }
    
    Run Code Online (Sandbox Code Playgroud)

    它应该看起来像这样

    在此输入图像描述

  4. 保存并重新部署云功能。

  5. 确保云函数部署成功。


结果

在此输入图像描述

  • 我知道SO不想要这样的评论,但是非常非常感谢您,先生!这非常有效,让我免于更加困难的工作! (3认同)