Heroku позволяет писать на #{RAILS_ROOT}/tmp
.
Но вы должны иметь в виду, что файл будет там только до тех пор, пока длится запрос. Возможно, дольше, но это не гарантировано. Вы можете попытаться заблокировать запрос во время распаковки и отправки на S3, но вы должны позаботиться о времени, которое требуется.
Звучит так, будто вам нужен флэш-загрузчик, который может разархивировать и отправить на S3 без Heroku.