【发布时间】:2021-08-04 23:49:28
【问题描述】:
我有一个简单的 React 应用程序(没有后端服务器),托管在 Firebase 上。
应用程序接收一个文件(word 文档或 pdf)并将其存储在 firebase 存储中,并将元数据存储在 firestore 中。
我有要求读取文件中的字数,如果超过500,则阻止上传。
我一直在寻找一种仅使用 React 的方法,但我认为它无法完成。我的另一个选择是在 Firebase 中使用 Cloud Functions,它使用 NodeJs,即使这样我也没有找到任何解决方案。
此时,我无法设置合适的后端服务器来完成这项工作。
如果有人能指出正确的方向来解决这个问题,我将不胜感激。
谢谢。
【问题讨论】:
-
您是否考虑过在云功能中使用 FS for node.js。我以前在节点环境中使用 FS 从文档中读取数据,但只能从计算机上的文档中读取数据。也许云功能会让您从数据库中“下载”文件并使用 FS(文件系统)作为节点来读取它。 w3schools.com/nodejs/nodejs_filesystem.asp
-
这是个好建议,谢谢。但我不希望在我数单词之前将其上传到存储中。理想情况下,我想在存储之前计算字数,以便我可以发出通知说文档超出字数限制并要求用户缩短它。
-
这是只读取元数据的节点办公文档阅读器(因此不需要整个文件)。也许你可以在你的前端代码上实现一些东西? npmjs.com/package/office-document-properties
-
这个 npm 包看起来可能是解决方案。让我尝试实现它,看看它是否有效。非常感谢。
-
您可以使用可调用函数将文件上传到函数的本地存储,使用 Vision API 处理文档并且如果可接受,然后将其保存到 GCS。 cloud.google.com/vision/docs/pdf
标签: node.js reactjs firebase file google-cloud-functions