node.js createWriteStream不会在Heroku上创build新文件
我有我的本地主机上运行node.js 0.12.0正常工作的以下代码。 代码创build一个新文件,并从可读的数据中复制数据,但不会在Heroku上创build新文件。
var output = fs.createWriteStream('public/images/test/testfile.png'); readable.pipe(output);
我认为这与权限有关,但每当我使用heroku run bash
更改文件夹的权限,然后chmod -R 777 images/
Heroku将其重置为其原始权限,即drwx------
。
所以可能是这个问题是别的?
请注意,它失败了,没有例外,没有任何logging。
在Heroku中,testing仪的本地文件存储不是永久的(除了git repo文件显然),所以如果你写一个本地文件,dyno重新启动,文件将会消失,如果你启动另一个testing仪,它将无法“看到“文件。
heroku run bash
启动一个新的“一次性”dyno(可以在这里阅读: https : //devcenter.heroku.com/articles/one-off-dynos ),所以文件将无法以这种方式访问。
如果你想保存你的数据,最好使用一些数据库或永久存储插件。