Heroku и загрузчик файлов nuxt не работает - PullRequest
0 голосов
/ 09 марта 2020

У меня есть PWA с Nuxt JS, правильно развернутым и работающим на Heroku. Я хотел бы реализовать загрузчик файлов и менеджер, чтобы я мог управлять некоторыми файлами в каталоге (~/static/files) из моего интерфейса через некоторые API. На localhost он работает нормально, поэтому у меня есть каталог, и когда я добавляю или удаляю файл, он удаляет или создает его из файловой системы (как и должно быть).

Мой вопрос: почему я не могу сделать то же самое на Heroku? Я имею в виду, я попытался загрузить файл и удалить его, и это работает, но проблема возникает, когда я перезапускаю приложение (через heroku ps:restart -a appname), потому что, когда я делаю это, он удаляет файл, как если бы он был сохранен в оперативной памяти, а не на файловая система.

Если я пытаюсь просмотреть файлы в каталоге, где они должны быть через heroku run bash -a appname, а затем в каталоге, файл не отображается. Как я могу это исправить?

1 Ответ

0 голосов
/ 09 марта 2020

Файловая система Heroku эфемерна - это означает, что любые изменения в файловой системе, пока dyno работает только в последний раз, пока этот dyno не будет выключен или перезапущен. Каждый dyno загружается с чистой копией файловой системы с самого последнего развертывания. Это похоже на то, как много контейнерных систем, таких как Docker, работают.

Кроме того, при нормальных операциях dynos будет перезапускаться каждый день в процессе, известном как «Цикл».

Эти два факта означают, что файловая система на Heroku не подходит для постоянного хранения данных. В тех случаях, когда вам нужно хранить данные, мы рекомендуем использовать надстройку базы данных, такую ​​как Postgres (для данных) или выделенную службу хранения файлов, такую ​​как AWS S3 (для stati c файлов).

...