Путь, где я храню изображения профиля, недоступен в производственном режиме - PullRequest
0 голосов
/ 12 ноября 2018

Моя цель - загрузить фотографию профиля.Я сделал это в режиме разработки, используя multer в Node.js.Малтер запрашивает путь для сохранения нового изображения.

В режиме разработки мой внешний интерфейс Angular и мой внутренний сервер Node.js находились в одном файле (структуру проекта см. Ниже).Путь назначения, используемый в Multer, работал в режиме разработки.

Затем я развернул свой бэкэнд и интерфейс отдельно, и теперь этот путь не работает.Как я могу убедиться, что загруженные изображения профиля окажутся на той же карте, что и при разработке?

Это структура в режиме разработки.Карта SRC содержит код углового внешнего интерфейса, а бэкэнд содержит внутренний интерфейс Node.js.

enter image description here

Это путь, который я использовал для хранения загруженных изображений профиля в Multer.,Теперь проблема в том, что я развернул свой бэкэнд и интерфейс отдельно в Heroku, поэтому этот путь больше не работает.

enter image description here

Как я могу изменить свойпуть, чтобы мои загруженные изображения профиля все еще добавлялись к этой карте ресурсов / изображений / фотографий профиля?

1 Ответ

0 голосов
/ 12 ноября 2018

Файловая система, которую предоставляет Heroku, эфемерна : любые изменения, которые вы вносите в нее, будут потеряны при следующем перезапуске вашего динамометра. Это происходит часто (хотя бы раз в день).

Вместо того, чтобы хранить загруженные файлы в локальной файловой системе, Heroku рекомендует хранить их в сторонних сервисах, таких как Amazon S3 . Библиотека multer-s3 позволит вам сделать это довольно легко.

После сохранения файлов вы можете получить к ним доступ через Amazon SDK или, если вы настроили свои загрузки соответственно, через HTTP. Обычный HTTP-доступ может быть аутентифицирован или анонимным.

...