Мне интересно понять различные подходы к обработке больших загрузок файлов в приложении Rails, 2-5Gb файлах.
Я понимаю, что для переноса файла такого размера его нужно разбить на более мелкие части, я провел некоторое исследование, и вот что я до сих пор.
- Конфигурация на стороне сервера потребуется для приема больших запросов POST и, возможно, 64-битной машины для обработки чего-либо более 4Gb.
- AWS поддерживает многостраничную загрузку.
- HTML5 FileSystemAPI имеет постоянный загрузчик, который загружает файл в куски.
- Библиотека для Bitorrent, хотя для этого нужен клиент передачи, который не идеален
Можно ли возобновить все эти методы, как FTP, причина, по которой я не хочу использовать FTP, - это то, что я хочу сохранить в веб-приложении, если это возможно? Я использовал carrierwave и paperclip, но я ищу что-то, что можно будет возобновить, поскольку загрузка файла 5Gb может занять некоторое время!
Из этих подходов, которые я перечислил, я хотел бы выполнить то, что сработало хорошо, и если есть другие подходы, которые могут отсутствовать? Никаких плагинов, если это возможно, скорее не будет использовать Java-апплеты или Flash. Еще одна проблема заключается в том, что эти решения хранят файл в памяти при загрузке, что также является ограничением, которое я предпочел бы избежать, если это возможно.