Особенность загрузки файлов непосредственно в Heroku заключается в том, что они удаляются каждый раз, когда ваш динамо останавливается / перезапускается.Поэтому вам нужно хранить эти файлы вне приложения Heroku.Одним из решений является использование AWS S3 (это довольно дешево, если у вас мало данных, например полдоллара в месяц, если вы храните 20 ГБ и у вас 100 ГБ трафика).
На страницах справки Heroku :
Файловая система Heroku эфемерна - это означает, что любые изменения в файловой системе, пока dyno работает только в последний раз, пока этот dyno не будет выключен или перезапущен,Каждый dyno загружается с чистой копией файловой системы с самого последнего развертывания.Это похоже на то, как много контейнерных систем, таких как Docker, работают.
Кроме того, при нормальных операциях dynos будет перезапускаться каждый день в процессе, известном как «Цикл».
Эти двафакты означают, что файловая система на Heroku не подходит для постоянного хранения данных.В случаях, когда вам необходимо хранить данные, мы рекомендуем использовать надстройку базы данных, такую как Postgres (для данных) или выделенную службу хранения файлов, такую как AWS S3 (для статических файлов).Если вы не хотите настраивать учетную запись в AWS для создания корзины S3, у нас также есть дополнения, которые управляют хранением и обработкой статических активов https://elements.heroku.com/addons