我在Heroku上使用Parse Server,我想知道我是否能够通过云代码将文件保存到heroku。
这样的事情:
云代码(main.js):
Parse.Cloud.define("saveFile", function(request, response) {
fs.writeFile("test", "helloworld", function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
}
然后通过终端中的curl调用调用此函数:
curl -X POST -H" X-Parse-Application-Id:yourappid" -H“Content-Type:application / json" https://your-parse-server.herokuapp.com/parse/functions/saveFile
在heroku日志中,我能够看到打印的控制台"文件已保存"但是,当我查看heroku / app目录时(通过heroku CLI:heroku run ls)文件"测试"没有列出。
我的问题:
提前致谢!
答案 0 :(得分:1)
不,这是不可能的。 Heroku有一个ephemeral filesystem。
每当您部署应用程序时,他们都会构建一个容器,您可以在该容器上运行该版本的代码。然后取出该容器并以dynos的形式运行 如果您将文件写入磁盘,它们将不会保留在当前正在运行的容器之外(任何其他dyno都不会拥有它们,并且在重新启动/部署应用程序时它们将永久丢失。)
您希望对应用程序进行的任何代码更改都需要进行新的部署。