我需要在node中处理一个文件以从该文件中提取一些文本,我的问题是因为我是Node的新手,我不知道如何将路径传递到该文件.我对Firebase使用云功能,所以没有服务器,因此没有文件目录.有解决办法吗?比如使用url链接?

以下是我的Node JS代码:

let dataBuffer = fs.readFileSync('path/to/file') //error here "path not valid/error with path"

return //parse databuffer...

我知道我只能将路径传递到我的服务器中的文件,但我没有服务器! 我可以使用url链接吗?

如果不可能,是否可以在前端上传文件并将该文件传递到 node ?

我试过很多方法:

  1. 我try 传递URL链接而不是文件路径--不起作用

  2. 我try 将Firebase存储桶路径作为文件路径传递--不起作用

  3. 我try 过从前端上传文件并将其作为文件路径传递给 node --也不起作用

推荐答案

如本次官方云函数sample所示,您可以使用云函数的临时目录作为本地硬盘存储.

如第doc条所述,在结束云功能之前,应删除临时文件:

临时目录中的本地磁盘存储是内存中的 文件系统.您编写的文件会占用您的 函数,有时会在两次调用之间保持不变.Failing to explicitly delete these files may eventually lead to an out-of-memory error and a subsequent cold start.


该文档还提请我们注意,我们应该使用与平台/操作系统无关的方法来构建文件路径.通过遵循示例中提供的方法,您将遵循此建议.

Node.js相关问答推荐

从MongoDB获取Tree数据

JsonwebToken过期后如何注销和清除cookie?

使用参考中断Mongoose模型-Node.js

Socket.io 未将用户加入给定房间

Promise 和 Azure 语音转文本

如何在 require 方法中使用路径与node.js react ?

如果我在父文件夹中运行,子进程生成不起作用

TypeScript Eslint警告了一个AWS客户端构造函数(dynamodb),但没有警告另一个(s3)

Azure Function 在 2022 年 4 月 26 日禁用将用户字段设置为 HTTP 请求对象

为什么我在生产环境中 deproy Next.js 示例项目时 CSS 不起作用?

如何以编程方式检测nodejs中的调试模式?

在 Node.js 中的两个不同进程之间进行通信

将 myproject/.npmrc 与注册表一起使用

判断一个数组中的每个元素是否都在第二个数组中

如何运行用 TypeScript 编写的 Mocha 测试?

npm WARN 不推荐使用 graceful-fs@3.0.8:graceful-fs 版本 3

Route.get() 需要回调函数,但得到对象未定义

使用 node.js 循环 JSON

node --experimental-modules,请求的模块不提供名为的导出

AWS Lambda 函数写入 S3