如何使用附件插件在heroku服务器上上传图像

如何使用附件插件在heroku服务器上上传图像,heroku,attachment-fu,Heroku,Attachment Fu,我有一个应用程序在Heroku,我需要简单的文件存储上传的图像为这个我 使用附件插件发送数据。 之后,我使用tmp/目录写入此文件,并希望在浏览器上显示,但这些文件不显示在浏览器中。 如何在浏览器上显示这些图像 存储和检索图像的替代解决方案是什么 谢谢 您不能在Heroku上存储上载的文件 你必须使用另一种策略。两种备选策略: 将上载的文件存储在Heroku上的数据库中。因为数据库系统并不是专门为存储文件而优化的,所以在使用此策略之前,应该测试应用程序在负载下的性能 将上载的文件存储在外部存储服

我有一个应用程序在Heroku,我需要简单的文件存储上传的图像为这个我 使用附件插件发送数据。 之后,我使用tmp/目录写入此文件,并希望在浏览器上显示,但这些文件不显示在浏览器中。 如何在浏览器上显示这些图像

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


谢谢

您不能在Heroku上存储上载的文件

你必须使用另一种策略。两种备选策略:

  • 将上载的文件存储在Heroku上的数据库中。因为数据库系统并不是专门为存储文件而优化的,所以在使用此策略之前,应该测试应用程序在负载下的性能

  • 将上载的文件存储在外部存储服务中。AmazonS3是一个受欢迎的云存储服务,任何人都可以使用,而且它和Heroku一样具有现收现付的定价。(事实上,Heroku本身运行在另一个亚马逊云服务EC2之上。)


  • 我已经使用数据库来存储上传的图像。我想在浏览器上显示这些图像,若我使用public/file从数据库临时写入文件,那个么它会显示在浏览器上。但当我使用temp/file来写这些图像时,它不会显示在浏览器上。为什么会发生这种情况?我可以显示temp/file中的图像吗?您可以使用
    send\u data@record\u与\u image.raw\u image\u data一起使用:type=>“application/png”
    。但您不能将文件永久存储在Heroku上的磁盘上,也不能制作临时文件,然后将临时文件直接提供给用户。您必须使用机架堆栈呈现文件,或使用某些外部服务存储文件。