Вот руководство по обработке изображений и их загрузке в Cloudinary.

Это наиболее распространенная необходимая функция, но большинству новичков она кажется сложной.

В этой статье мы собираемся создать REST API, который будет принимать изображение в качестве входных данных и отправлять его на сервер для хранения в Cloudinary, а затем мы возьмем URL для хранения в БД.

Предварительно требуется:

  1. Узел и Npm установлены.
  2. Базовые знания Node JS и настройки среды.
  3. MongoDB для хранения данных.
  4. Облачная учетная запись
  5. Почтальон для тестирования API.

Шаги:

  1. Настройка нового экспресс-проекта
  2. Установка зависимостей
  3. Создать файл .env
  4. Соединение с базой данных Mongo
  5. Добавить модель
  6. Multer и облачная конфигурация
  7. Создание контроллера и маршрута.
  8. Тестирование API

Настройка нового экспресс-проекта

Используйте экспресс-генератор для быстрого скелетного кода.

экспресс-генератор npx upload_image

после этого запустите

cd upload_image

нпм я

запуск нпм

Установка зависимостей

Multer =› Multer — это промежуточное ПО node.js для обработки multipart/form-data, которое в основном используется для загрузки файлов.

Cloudinary =›позволяет быстро и легко интегрировать приложение с Cloudinary.

body-parser => Анализируйте тела входящих запросов в промежуточном программном обеспечении перед вашими обработчиками, доступными в свойстве req.body.

mongoose =›Mongoose — это инструмент объектного моделирования MongoDB, предназначенный для работы в асинхронной среде.

dotenv =› модуль, который загружает переменные среды из файла .env

nodemon => это инструмент, который помогает разрабатывать приложения на основе Node.js, автоматически перезапуская приложение узла при обнаружении изменений файлов в каталоге.

Добавьте nodemon в файл package.json

Создать .env

Создайте файл .env в корневой папке. Мы добавим следующие переменные.

Соединение с базой данных Mongo

Создайте файл db.js в корневой папке.

импортировать его в app.js

Добавить модель

Создайте папку моделей и файл Image.js внутри моделей.

Облачная конфигурация

Перейдите в свою учетную запись Cloudinary, затем перейдите на панель инструментов.

Скопируйте и вставьте их (имя облака, ключ API, секрет API) в файл .env.

Создайте папку config и файл с именем cloudinaryConfig.js внутри нее.

мы будем использовать эту функцию для загрузки изображения в Cloudinary.

Добавить Мультера

Создайте папку public/images в корне.

Создайте файл multerConfig.js внутри папки конфигурации.

Здесь мы проверяем тип формата изображения, это проверит, соответствует ли он правильному типу, затем загрузит изображение в локальную папку public/images, иначе выдаст ошибку.

Создать контроллер

Создайте папку с именем controllers в корневом каталоге.

Создайте файл controllers/ImageController.js.

Создать маршрут

Добавить маршрут в route/index.js

Импортировать маршрут и соединение с базой данных в app.js

Тестирование

Запустите приложение, запустив npm start.

http://локальный:3000/

Заключение

Мы завершили конечную точку, которая получает изображение в данных формы, загружает изображение в Cloudinary и затем сохраняет его в БД.

Вот полный код AtiaK/upload_image (github.com)

Вы нашли это полезным?

Дайте мне знать, если вы нашли это полезным или вам нужна помощь.

Подпишитесь здесь, чтобы быть в моем списке рассылки и получать уведомления о новых интересных блогах.

Подпишитесь на меня в instagram, github, linkedIn