我在Firebase中使用调整图像大小扩展名。在添加此扩展名之前,但是我已经上传了许多图像,它们在各自的发布/存储分区中,并通过实时数据库中的URL链接。
有什么方法可以调整存储桶中所有现有图像的大小?最好不必在帖子中重新分配其URL?
答案 0 :(得分:3)
如果您查看“调整图像大小”扩展名的code,您将看到该扩展名基础的Cloud Function是由onFinalize
事件触发的,这意味着:
当有新对象(或现有对象的新一代)出现时 在存储桶中成功创建。这包括复制或重写 现有对象。
因此,如果不重写/重新生成现有图像,则不会触发扩展程序。
但是,您可以轻松编写自己的Cloud Function,该功能可以执行相同的操作,但是可以通过调用特定URL(HTTPS cloud Function)或通过在临时Firestore集合中创建新文档来触发(background triggered CF)。
此Cloud Function将执行以下步骤:
getFiles()
方法。此方法返回一个GetFilesResponse
对象,该对象是File
个实例的数组。根据要处理的图像数量,您可能需要增加超时值和/或Cloud Function的已分配内存,请参阅https://firebase.google.com/docs/functions/manage-functions#set_timeout_and_memory_allocation