代码之家  ›  专栏  ›  技术社区  ›  sarah

如何检查云存储中的文件路径是否有效?

  •  0
  • sarah  · 技术社区  · 4 年前

    所以我尝试用云函数从firebase存储下载一个图像

    const bucket = storage.bucket("myApp.appspot.com")
    const filePath = `eventPoster/${creatorID}/${eventID}.png`
    
    await bucket.file(filePath).download({
        destination: tmpFilePath
    })
    

    但问题是,我不能保证图像总是png格式,它也可以是jpeg或jpg

    如果我那样硬编码,我会得到这样的错误

    错误:没有这样的对象:myApp.appspot.com/eventPoster/user1/ev123.png格式

    那么,如何检查一个路径是否有效,或者如何生成一个可以与其他图像扩展动态工作的代码?

    0 回复  |  直到 4 年前
        1
  •  0
  •   gso_gabriel    4 年前

    作为社区Wiki发布,因为我把它的一部分放在评论中,这样社区的其他成员可以随意编辑它。

    如注释中所述,您可以使用该方法 exists() ids 因为你在建立你的名字结构。

    除此之外,正如另一篇来自社区的帖子所澄清的那样 here POST 方法来上载文件,否则,您将无法-这也可以是一种替代方法。以防你不使用 岗位

    如果您想了解如何使用云函数将文件上载到云存储,可以在此处查看此教程: How to upload using firebase cloud functions

    不幸的是,这些似乎是目前唯一可用的选择,但我认为它们是一个良好的开端。

    如果这些信息对你有帮助,请告诉我!

        2
  •  0
  •   guillaume blaquiere    4 年前

    你可以使用 exists getFiles() 方法。如你所见,你可以把期权,和一个名为“前缀”。在你的情况下,你可以得到这个

    bucket.getFiles({
      prefix: "eventPoster/${creatorID}/${eventID}"
    }, <callback>);