使用Heroku和Rails从S3代理文件

Adr*_*uio 7 sitemap ruby-on-rails heroku amazon-s3

我需要通过heroku上托管的rails应用程序发送存储在S3中的文件.我无法使用重定向到S3上文件的URL,因为我想发送一个站点地图,该站点地图应该与内部链接在同一个域中提供.

理想情况下,我会使用某种代理方法通过rails app发送文件,至少,我可以将文件下载到heroku的tmp目录中并在之后发送.

我还会为文件发送正确的内容类型.

你知道我怎么能实现它?什么是最好的方式?

有一个机架应用程序正在这样做,但我不知道如何在Rails中重现它,请参阅此处的代码

谢谢你的帮助

eli*_*jah 3

它看起来像这样:

blob =  AWS::S3::S3Object.value( filename, bucketname )
send_data( blob,
           { :type => 'image/jpg,
             :disposition => 'inline' } )
Run Code Online (Sandbox Code Playgroud)

类型可以是 image/jpg、image/gif 等