【问题标题】:How to upload images on heroku server using attachment_fu plugin如何使用 attachment_fu 插件在 Heroku 服务器上上传图像
【发布时间】:2010-12-28 12:56:12
【问题描述】:

我在 Heroku 中有一个应用程序,为此我需要简单的文件存储来存储上传的图像 通过 attachment_fu 插件使用 send_data。 之后我用 tmp/ 目录写了这个文件,想在浏览器上显示,但是这些文件没有在浏览器中显示。 如何在浏览器上显示这些图像?

存储和检索图像的替代解决方案是什么?

谢谢!

【问题讨论】:

    标签: heroku attachment-fu


    【解决方案1】:

    您不能在 Heroku 上存储上传的文件。

    您必须使用替代策略。几种替代策略:

    1. 将上传的文件存储在 Heroku 的数据库中。由于数据库系统并未专门针对存储文件进行优化,因此您应该在使用此策略之前测试您的应用程序在负载下的性能。

    2. 将上传的文件存储在外部存储服务中。 Amazon S3 是一种流行的云存储服务,任何人都可以使用,它与 Heroku 一样具有按需付费定价。 (事实上​​,Heroku 本身运行在亚马逊的另一个云服务 EC2 之上。)

    【讨论】:

    • 我已经使用数据库来存储上传的图像。我想在浏览器上显示这些图像,如果我使用 public/ 文件从数据库临时写入文件,那么它会显示在浏览器上。但是当我使用 temp/ 文件来编写这些图像时,它不会显示在浏览器上。为什么会发生这种情况?我可以显示 temp/ 文件中的图像吗?
    • 你可以使用send_data @record_with_image.raw_image_data, :type => 'application/png'之类的东西。但是您不能将文件永久存储在 Heroku 的磁盘上,也不能制作临时文件然后将临时文件直接提供给用户。您必须使用 Rack 堆栈渲染文件或使用某些外部服务存储文件。
    猜你喜欢
    • 1970-01-01
    • 2017-02-03
    • 2016-12-06
    • 2022-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-18
    相关资源
    最近更新 更多