【问题标题】:Reliable file uploader using Ruby on Rails and Amazon S3使用 Ruby on Rails 和 Amazon S3 的可靠文件上传器
【发布时间】:2010-11-07 02:22:15
【问题描述】:

我希望使用 Ruby on Rails 创建一个文件上传器,它必须具有以下功能:

  • 适用于任何文件类型
  • 获取上传进度
    • 我使用 apache 模块来跟踪进度,但可以接受 Flash 解决方案
  • 使用 Amazon S3 作为文件系统
    • Rails 在 tmp 文件夹中创建了一个 RackMultipart 文件,需要将其移动到 S3 想知道是否有更好的方法
  • 极其可靠
    • 我当前的实现有时无法正确跟踪进度,或者有时没有创建 RackMultipart 文件 (Rails 2.3.8)

我的系统是 Rails 2.3.8、Ruby 1.8.7 Enterprise、Apache。

【问题讨论】:

  • 有什么见解或建议吗?

标签: ruby-on-rails file-upload amazon-s3


【解决方案1】:

这是一个类似的 SO 问题:

Ruby on Rails: upload files with progress bar and checking of filesize before upload


我已经尝试了所有这些,但每个都有问题:

http://timmyc.posterous.com/uploadify-on-rails-with-paperclip

http://railsillustrated.com/screencast-file-uploads-progress-in-rails-passenger.html

http://railstips.org/blog/archives/2009/07/21/uploadify-and-rails23/

http://jimneath.org/2008/05/15/swfupload-paperclip-and-ruby-on-rails/


AFAIK 像这样上传甚至不是一个好习惯。上传并使用延迟作业在后台处理它,“工人”应该在 heroku 上执行此操作。

【讨论】:

  • delayed_job 是一个有趣的想法。但是,如果我有多个网络服务器和多个(不同的)处理服务器,它是如何工作的?延迟作业处理发生在 proc 服务器上,而 RackMultipart 文件将在网络服务器上。
  • Heroku 通过将应用程序加载到在云中运行的“单个文件”中来解决问题,因此无论应用程序是否分布在服务器上都无关紧要。但你正在尝试使用不同的产品,所以我无法回答。
  • Heroku 听起来很酷。我正在使用亚马逊 EC2。 Uploadify 或 YUI Uploader 有什么见解或建议吗?由于 Flash 的犹豫,我之前忽略了它们,但为了避免浏览器兼容性问题,使用 Flash 似乎是不可避免的
猜你喜欢
  • 2012-01-08
  • 2013-08-27
  • 1970-01-01
  • 2012-06-24
  • 2012-02-07
  • 1970-01-01
  • 2016-06-29
  • 2012-05-01
  • 2015-03-28
相关资源
最近更新 更多