Какова наилучшая практика при загрузке изображений с использованием Angular 8 в качестве интерфейсной среды, nodejs в качестве серверной части и MongoDB в качестве базы данных (MEAN)? - PullRequest
0 голосов
/ 10 ноября 2019

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

Я пытался сохранить изображения (используя Node.js) в локальной папке (это папка «assets» моего проекта Angular).

Проблема в том, что когда я добавляю изображения со страницы «Добавить» в свой проект и возвращаюсь обратно на главную страницу, Angular не может найти изображения по их путям (из папки «активы») без перестройки проекта (ng serve). Как я могу решить это?

1 Ответ

1 голос
/ 10 ноября 2019

Я не так хорошо знаком с mongoDB, как с сервером SQL, но если Mongo имеет тип данных, похожий на байтовый массив, вы можете попросить пользователей загрузить изображение в БД в виде байтового массива, а затем вызвать«получить» этот ресурс, сохранить изображение в активы, это должно предотвратить повторное обслуживание этого проекта. Вы можете вызвать get как часть функции загрузки или просто после загрузки домашней страницы.

Мне также повезло, НЕ сохраняя изображения в папке assets, а в собственной папке изображений в корне проекта. В NodeJS должна быть функция для создания папки, если она не существует, и сохранения образа байтового массива в эту папку в формате jpeg, png или как угодно. Вы бы назвали это преобразование из байтового массива / метода сохранения ПОСЛЕ выполнения получения изображения байтового массива из MongoDB. Когда у вас есть байтовый массив, используйте встроенные библиотеки (опять же, я больше знаком с .Net, но я уверен, что в Node есть способ десериализации и сохранения этого изображения в папку изображений.

...