如果对象具有特定条件,则禁用firebase存储扩展大小调整[已关闭]

nhaq1z21  于 2023-02-05  发布在  其他
关注(0)|答案(1)|浏览(102)

这个问题是由打字错误或无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
3个月前关闭。
Improve this question
我已经安装了默认的firebase resize扩展。它工作得很好,但我意识到如果图像很小,比如20Kb或小于450Kb,我不想继续调整大小。我已经编辑了函数源代码

logs.imageSize("Image Size in bytes: "+size);
    let sizeInMB = parseFloat((size / (1024 * 1024)).toFixed(2));
    logs.imageSize("Image Size in Mb: "+sizeInMB);
    if(sizeInMB<=0.44){
        // The image is 450KB do not compress
        logs.imageIsSmall();
        return;
    }

它应该返回如果图像是450Kb或更少。只有这一段代码没有运行。默认的大小调整仍然继续当一个新的对象被添加。上述日志也没有显示。我错过了什么,因为,上述代码部署,目前在源代码

cetgtptt

cetgtptt1#

我认为你需要更详细的情况,我认为这可能是你的条件if语句可能是无效的,你检查和调试的结果/值?
为了调试扩展,您可以使用Firebase Emulator Suite,并设置本地存储、云函数和扩展。有了它,您可以在本地尝试扩展,甚至不需要部署它。您可以在这里查看视频:https://www.youtube.com/watch?v=YhKygunUkdw&t=159s
但我有一些建议:
1.将扩展设置为watch /images目录以监听扩展是否应执行其工作,并设置输出路径/thumbnals
1.你可以在前端检查图像的大小
1.如果它很小,请将其上载到/thumbnals,这样它将不会运行扩展
1.如果它很大,请将其上载到/images,它将运行扩展。使用此扩展,您可以始终参考/thumbnals获取小图像
Firebase仿真器套件https://firebase.google.com/docs/emulator-suite

相关问题