Загрузка файлов в приложение Rails: 2 ГБ возможно? - PullRequest
4 голосов
/ 26 мая 2011

Мне нужно написать приложение, которое позволяет пользователю загружать большие видео. Afaik, PHP сохраняет весь загруженный файл в памяти (по крайней мере, по умолчанию), поэтому у вас возникают проблемы с большими файлами. Есть ли у Rails похожие проблемы? Мне нужно получать файлы размером до 2 ГБ.

Моя настройка будет:

  • Рубин 1.8.7
  • Рельсы 3.0
  • Пассажир 3,0
  • Apache 2.2

Если вы не порекомендуете что-то еще, я бы попробовал Скрепку.

С уважением, Йоханнес

1 Ответ

5 голосов
/ 26 мая 2011

Это возможно, и у нас есть коммерческий веб-сайт, который в настоящее время обрабатывает загрузку ~ 3 ГБ для длинных видео высокой четкости, просто отлично с CarrierWave - отличной альтернативой Paperclip.

До тех пор, пока у вас правильно настроен Apache для приема больших запросов, у вас, вероятно, не будет проблем, которые обычно возникают у PHP-приложений и т. П. С адом конфигурации, необходимым для установки максимального размера запроса и еще много чего.

Прочтите это для предостережений, хотя: http://www.therailsway.com/2009/4/23/uploading-files

Редактировать: Для этого мы используем модуль загрузки Nginx + (см. https://github.com/vkholodkov/nginx-upload-module для информации), чтобы избежать этого и избежать проблем, описанных в статье выше; afaik Rails загружает весь загруженный файл в память при обычной загрузке, что означает, что вам понадобится значительный объем памяти, если вы не используете что-то вроде плагина mod_porter, упомянутого в статье выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...