【问题标题】:node.js createWriteStream doesn't create new file on Herokunode.js createWriteStream 不会在 Heroku 上创建新文件
【发布时间】:2015-05-29 02:57:05
【问题描述】:

我的以下代码在运行 node.js 0.12.0 的本地主机上运行良好。该代码创建一个新文件,并从可读文件中复制数据,但它不会在 Heroku 上创建新文件。

var output = fs.createWriteStream('public/images/test/testfile.png');
readable.pipe(output);

我认为这与权限有关,但每当我使用 heroku run bash 更改文件夹的权限,然后使用 chmod -R 777 images/ 时,Heroku 会将其重置为原始权限 drwx------

那么问题可能出在其他地方吗?

请注意,它静默失败,没有异常,日志中没有任何内容。

【问题讨论】:

    标签: node.js heroku node.js-stream


    【解决方案1】:

    在 Heroku 中,dyno 的本地文件存储不是持久的(显然除了 git repo 文件),因此如果您编写本地文件并且 dyno 重新启动该文件将消失,如果您启动另一个 dyno 它不会能够“看到”文件。

    heroku run bash 启动一个新的“一次性”测功机(可以在此处阅读:https://devcenter.heroku.com/articles/one-off-dynos),因此无法通过这种方式访问​​该文件。

    如果您希望数据持久化,最好使用一些数据库或持久存储插件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 2018-07-27
      • 2021-06-16
      • 2014-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多