【发布时间】:2020-05-16 00:54:23
【问题描述】:
是否可以编写一个firebase云函数,在firebase存储中创建新的fila时触发 - onFinalize(但我们事先不知道确切的存储桶)?
在我的 firebase 存储中有一个文件夹“loads”,在里面我有一个以 load id 命名的文件夹,例如:
- /loads/-Lw1UySdunYyFMrrV6tl
- /loads/-LwisA5hkNl_uxw3k36f
- /loads/-LwkPUm-q7wNv-wZ49Un
https://ibb.co/NnQkTyC这里是存储截图
我想在这些文件夹之一中创建新文件时触发云功能。我不知道文件将在哪里创建。我不知道这是否可能。这就是我需要建议的原因。
我的主要目标是在云功能中将 2 个 pdf 文件合并为一个。在我的前端应用程序(使用 vuejs 编写的 TMS)中,我使用 html2canvas/jsPDF 创建了confirmationOrder.pdf,然后将其保存到 storage/loads/${loadID}。稍后用户可以在同一个存储桶上手动上传 POD.pdf。当它发生时,我希望我的云功能将这两个 pdf 合并到一个新文件中(在同一个存储桶中)。但是我又一次不知道桶。
这是我在前端上传 PDF 的方法:
async uploadConfPDF({ commit }, payload) {
const PDF = payload.PDF;
const loadID = payload.loadID;
const fileName = payload.fileName;
const fileData = await firebase
.storage()
.ref(`loads/${loadID}/${fileName}.pdf`)
.put(PDF);
const confOrderURL = await fileData.ref.getDownloadURL();
return confOrderURL;
},
非常感谢任何帮助。对不起,如果我的解释似乎不够清楚。英语不是我的母语。
【问题讨论】:
-
您能否展示一张您的云存储控制台的图片。如果你有一些现有的代码,你也可以分享一下吗?你确定你使用了几个buckets。你不是指不同的References吗?
-
请编辑问题以显示所有相关代码,以便我们看到您在做什么,包括您目前拥有的客户端和服务器代码。您应该准确解释该代码的工作方式与您期望的不同。
标签: javascript firebase google-cloud-functions firebase-storage