通过Heroku上托管的Rails上传和解压缩文件到S3?

nee*_*zer 5 ruby-on-rails unzip heroku paperclip

我希望能够将zip文件上传到包含许多图像的Rails应用程序.然后我想Rails的解压缩该文件,并附加图片内通过我的照片的模式回形针,使他们最终存储在我的亚马逊S3帐户(通过回形针配置).

我想你做这一切对托管在我的Rails网站Heroku的,不幸的是不允许任何形式的本地存储(到目前为止我所知)暂时做回形针解析之前拉开拉链.

我该怎么办?

iwa*_*bed 5

我建议直接上传到完全绕过Heroku的S3,这样你就不会受限于他们强制执行的30秒请求超时(在该时间点之后丢弃你的上传)或1gb /tmp目录限制.上传文件后,您可以使用文件的名称和位置对Rails应用程序进行POST,然后执行解压缩操作.如果您想使用Paperclip进行后期处理,我在下面附上了一个链接.如果您最终将上传路径直接上传到S3,从而卸载Rails服务器上的工作,请查看我的示例项目:

使用Rails 3,Flash和基于MooTools的FancyUploader直接上传到S3的示例项目:https://github.com/iwasrobbed/Rails3-S3-Uploader-FancyUploader

使用Rails 3,Flash/Silverlight/GoogleGears/BrowserPlus和基于jQuery的Plupload的示例项目直接上传到S3:https://github.com/iwasrobbed/Rails3-S3-Uploader-Plupload

以下是Paperclip后期处理的链接,例如图像:

http://www.railstoolkit.com/posts/fancyupload-amazon-s3-uploader-with-paperclip