是否可以读取和写入不在带节点的项目文件夹中的文件?

时间:2016-03-01 01:36:59

标签: node.js heroku

我创建了一个个人应用程序来跟踪我想要阅读的书籍和我读过的书籍。为简单起见,我有一个名为wishlist.txt的文件我想读取它并添加节点。

var data = fs.readFileSync('wishlist.txt','utf8').toString();

工作正常。

我已经使用该应用程序一个月了,我厌倦了每次需要使用此应用程序时都需要运行服务器的事实。

所以我想把项目放在heroku中,但是将wishlist.txt放在我的电脑里。因此,如果您查看该网站,您会看到一个损坏的应用程序,但是当我查看该网站时,我将能够使用它。

为了测试,我尝试将wishlist.txt移到桌面,现在我收到此错误Error: ENOENT: no such file or directory, scandir

那么可以将应用程序联机,并让它读取我的本地文件吗?

我使用wishlist.txt来简化,实际上应用程序正在扫描我的所有电子书。

2 个答案:

答案 0 :(得分:0)

就我而言,是的。您需要做的就是首先通过src代码找到文件的位置,将其分配给变量并将变量放在读取文件同步上。

答案 1 :(得分:0)

如果可能的话,那将是一个严重的安全漏洞。 (任何heroku应用程序都可以随时扫描您的本地驱动器吗?)

我认为你有三种选择:

  1. 如果您想要做这样的事情,您将不得不在您的计算机上创建某种文件服务器并更改您的应用程序代码以从该服务器获取数据。

  2. 如果您只需要本地应用程序,则可以在本地计算机上将其作为服务运行,并确保它在重新启动后启动。 (而不是部署到heroku)。

  3. 虽然可以将文件上传到heroku,只需将其添加到源代码中即可访问,但当然如果您要将任何新书添加到硬盘驱动器中,则必须将其添加到您的源代码并重新部署。

  4. 如果您需要上述任何细节,请发表评论。