直接从firebase函数临时文件夹下载

Posted

技术标签:

【中文标题】直接从firebase函数临时文件夹下载【英文标题】:Download directly from firebase function temp folder 【发布时间】:2021-03-30 02:03:49 【问题描述】:

我想知道直接从 firebase functions temp 文件夹下载文件是否可行且安全?我有一个 firebase 函数,当从应用程序触发时(例如通过httpsCallable)在临时文件夹中生成一个 pdf 文件。应用程序用户是否可以直接从 temp 文件夹下载生成的 pdf 文件,或者该功能是否需要在下载之前执行将文件保存在 firebase 存储中的额外步骤?我没有见过前者的例子。就我而言,下载后无需保存 pdf 文件,因此如果可以直接从临时文件夹下载,我认为将其上传到存储没有任何意义。

【问题讨论】:

是的,您绝对可以从临时文件夹下载 PDF 作为函数调用的响应。 【参考方案1】:

app用户是否可以直接从temp文件夹中下载生成的pdf文件

不,这是不可能的。 /tmp 文件系统只能由创建它的服务器实例访问,并且它完全驻留在该实例的内存中。在此之外的任何地方都无法直接访问它。

该功能是否需要在下载之前执行将文件保存在 Firebase 存储中的额外步骤?

如果您想将文件保存到 Cloud Storage,您需要使用 Cloud Storage SDK 将文件上传到那里。这不是一个可选步骤 - 如果您不将内存中的内容永久保存,您最终会丢失它。

【讨论】:

谢谢 Doug,我怀疑是这种情况,但不是 100% 确定。 “/tmp 文件系统只能由创建它的服务器实例访问”,所以在函数完成后,/tmp 文件夹会自动清空吗?因为这里firebase.google.com/docs/functions/…发现我必须手动做,但是在任何地方都找不到怎么做。 @jeand'arme 做你通常在 nodejs 中做的任何事情来删除文件。在 Cloud Functions 中删除文件并没有什么特别之处。

以上是关于直接从firebase函数临时文件夹下载的主要内容,如果未能解决你的问题,请参考以下文章

从 Firebase 存储下载并播放 .mp3 文件到内存

请问下,我想用java实现下载excel表格,思路是先在临时文件里生成临时excel文件,但是不知

HttpURLConnection从链接下载数据存放本地临时文件,Java

HttpURLConnection从链接下载数据存放本地临时文件,Java

requests从一个链接下载存放在临时文件tempfile,python

requests从一个链接下载存放在临时文件tempfile,python