【问题标题】:Ruby on Rails app on Heroku file upload not workingHeroku文件上传上的Ruby on Rails应用程序不起作用
【发布时间】:2018-02-26 11:43:01
【问题描述】:

我也是 Rails 和 Heroku 的新手。

按照教程,我成功地将我的应用上传到 Heroku。

我的应用程序使我们能够将 csv 文件上传到 public 中的 uploads 文件夹。 所以我可以在 heroku 部署的应用程序中上传文件并根据需要显示表格。

但大约 30 分钟后,这些文件会自动删除,并显示 public/uploads 文件夹中没有此类文件的错误。

它在我使用 sqlite3 的本地上正常工作。

但是 heroku 想将 psql 用于生产模式,所以我将生产模式更改为使用 psql。

所以如果我上传 csv 文件,那么它会存储在“public/uploads”文件夹中。

我认为即使我没有执行 'git push heroku master' 命令,heroku 应用程序也会自动更新到 github repo。

在我的本地存储库中存储了文件,但它们在开发模式下运行。

我怎样才能使上传功能充分发挥作用?

任何帮助将不胜感激。

【问题讨论】:

  • 使用 Heroku(或任何托管服务)时,您需要上传到 Amazon S3 等存储桶存储。使用像回形针这样的附件宝石是最简单的。 Heroku 有很好的文档here

标签: ruby-on-rails ruby git heroku file-upload


【解决方案1】:

Ephemeral filesystem 正是 heroku 的工作方式,正如文章中所解释的 - 重新启动实例时,上传的文件将被删除。

您应该做的是将这些文件上传到例如 S3 (https://devcenter.heroku.com/articles/s3),您可以使用带有 Fog gem 的 CarrierWave gem 来实现这一点,但还有其他可能性,如此线程中所述:https://www.reddit.com/r/rails/comments/2k9sq4/heroku_any_files_you_upload_will_not_be_saved/

【讨论】:

    猜你喜欢
    • 2012-07-17
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    相关资源
    最近更新 更多