node.js createWriteStream不';不要在Heroku上创建新文件

node.js createWriteStream不';不要在Heroku上创建新文件,node.js,heroku,node.js-stream,Node.js,Heroku,Node.js Stream,我有以下代码可以在运行node.js 0.12.0的本地主机上正常工作。代码创建一个新文件,并从readable复制数据,但它不会在Heroku上创建新文件 var output = fs.createWriteStream('public/images/test/testfile.png'); readable.pipe(output); 我认为这与权限有关,但每当我使用heroku run bash更改文件夹的权限,然后chmod-R 777 images/heroku将其重置回其原始权限

我有以下代码可以在运行node.js 0.12.0的本地主机上正常工作。代码创建一个新文件,并从readable复制数据,但它不会在Heroku上创建新文件

var output = fs.createWriteStream('public/images/test/testfile.png');
readable.pipe(output);
我认为这与权限有关,但每当我使用
heroku run bash
更改文件夹的权限,然后
chmod-R 777 images/
heroku将其重置回其原始权限,即
drwx-----

那么问题可能是什么呢


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

在Heroku中,dyno的本地文件存储不是持久的(除了git repo文件之外),因此如果您编写一个本地文件,dyno重新启动,该文件将消失,如果您启动另一个dyno,它将无法“查看”该文件

heroku run bash
启动一个新的“一次性”dyno(可在此处阅读:),因此无法通过这种方式访问该文件

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