Лучший способ справиться с большим файлом и герою - использовать javascript, чтобы отправить его непосредственно на s3 (или конечный пункт назначения), а затем использовать обратный вызов, чтобы подключить его к вашей модели.
Основнойпричина в том, что у heroku будет таймаут по любому запросу, занимающему более 30 секунд, поэтому, если есть риск, что вы загрузите, будет больше, чем это, тогда вы ДОЛЖНЫ обойти heroku (примечание: я узнал об этом из опыта)
Существует множество вариантов выполнения этого в зависимости от ваших требований:
- d2s3 - напрямую к S3
- plupload - флэш-загрузчик с индикатором выполнения и множеством вкусностей, поддерживает массовую загрузку (это то, что я сейчас использую)
- uploadify - хорошая альтернатива plupload - может быть проще, когдамассовая загрузка не работает
- swfupload - еще один вариант
Примечание: ни один из них не очень прост в настройке
Я хочу, чтобы тамбыла более простая альтернативаМне удивительно, что такая сложная вещь, как загрузка файлов, так сложна.