Ik raad aan om rechtstreeks naar een service als Amazon S3 te uploaden en het bestand vervolgens naar eigen inzicht te verwerken in een achtergrondtaak.
Wanneer de gebruiker het bestand uploadt, kunt u er zeker van zijn dat het veilig wordt opgeslagen in S3. U kunt een privé-bucket gebruiken om openbare toegang te verbieden. Vervolgens kunt u in uw achtergrondtaak de upload verwerken door de S3-URI van het bestand door te geven en uw achtergrondmedewerker het bestand te laten downloaden.
Ik weet niet wat uw achtergrondmedewerker met het bestand doet, maar het spreekt voor zich dat het niet nodig is om het opnieuw te downloaden. Het is toch ergens opgeslagen.
Ik heb de carrierwave-direct gem in het verleden met succes gebruikt. Omdat je Heroku noemt, hebben ze een gedetailleerde handleiding voor het rechtstreeks uploaden van bestanden naar S3.