我有一些表单字段,如输入类型(文本,电子邮件,电话号码,电子邮件,复选框)和提交按钮。我想当我点击提交按钮时,它向用户显示谢谢消息,并在服务器上创建一个新的csv文件,包括表单字段数据,如果没有csv,如果已经有csv有一些数据,它应该在csv中添加新行。如果有可能请帮我解决我的新问题。
提前致谢
答案 0 :(得分:1)
你不能! Heroku不允许您在部署后修改服务器。这被称为不可变服务器,它成为云平台的常见模式。
考虑一下,当您运行同一个应用程序的多个节点时会发生什么,哪个节点会保存文件?部署新版本的应用程序时会发生什么(heroku替换下面的机器),这样文件就会丢失。
要在heroku使用数据存储上保留数据应用程序,例如amazon S3允许您在弹性存储上存储任意文件。 有一些heroku插件可以帮助您集成这些服务(例如这个one),但这不是强制性的,您可以直接集成。
当然还有其他一些黑客,比如在数据库中存储文件内容(heroku提供带有几MB存储空间的免费postgresql),但不管云供应商是什么,都不是recommended。 在您的具体情况下,听起来最好的解决方案是将文本,电子邮件,电话等建模到数据库列中,因此每个“文件”都是数据库中的一行。