将文件上传到Rails应用程序:2 GB可能吗?

时间:2011-05-26 17:21:43

标签: ruby-on-rails file-upload

我需要编写一个应用程序,允许用户上传大型视频。 Afaik,PHP将整个上传的文件存储到内存中(至少每个默认值),因此您会遇到大文件的问题。有Rails类似的问题?我需要接收最大2 GB的文件。

我的设置将是:

  • Ruby 1.8.7
  • Rails 3.0
  • Passenger 3.0
  • Apache 2.2

除非你推荐别的东西,否则我会试试Paperclip。

问候,约翰内斯

1 个答案:

答案 0 :(得分:5)

这是可能的,我们有一个商业网站目前正在使用CarrierWave处理上传大约3GB的长视频高清视频 - 这是Paperclip的绝佳替代品。

只要你正确地设置Apache设置来接受大的请求,你可能就不会遇到PHP应用程序等传统上用于设置最大请求大小和诸如此类的配置所需的相同问题。

请阅读此内容以获取警告:http://www.therailsway.com/2009/4/23/uploading-files

编辑:对于它的价值,我们使用Nginx +上传模块(请参阅https://github.com/vkholodkov/nginx-upload-module获取信息)来执行此操作并避免上述文章中的问题;当正常处理上传时,afaik Rails会将整个上传的文件加载到内存中,这意味着除非你使用上面文章中提到的mod_porter插件,否则你需要拥有大量的内存。