Вот руководство по обработке изображений и их загрузке в Cloudinary.
Это наиболее распространенная необходимая функция, но большинству новичков она кажется сложной.
В этой статье мы собираемся создать REST API, который будет принимать изображение в качестве входных данных и отправлять его на сервер для хранения в Cloudinary, а затем мы возьмем URL для хранения в БД.
Предварительно требуется:
- Узел и Npm установлены.
- Базовые знания Node JS и настройки среды.
- MongoDB для хранения данных.
- Облачная учетная запись
- Почтальон для тестирования API.
Шаги:
- Настройка нового экспресс-проекта
- Установка зависимостей
- Создать файл .env
- Соединение с базой данных Mongo
- Добавить модель
- Multer и облачная конфигурация
- Создание контроллера и маршрута.
- Тестирование 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.
Заключение
Мы завершили конечную точку, которая получает изображение в данных формы, загружает изображение в Cloudinary и затем сохраняет его в БД.
Вот полный код AtiaK/upload_image (github.com)
Вы нашли это полезным?
Дайте мне знать, если вы нашли это полезным или вам нужна помощь.
Подпишитесь здесь, чтобы быть в моем списке рассылки и получать уведомления о новых интересных блогах.