Загрузка файлов с помощью Express.js и Multer

Чтобы загрузить файл с помощью Express.js и Multer, вы можете выполнить действия, описанные ниже:

  1. Установить необходимые пакеты:

    • Начните с инициализации нового проекта Node.js и перейдите в его каталог.
    • Выполните следующую команду, чтобы установить Express.js и Multer:
      npm install express multer
  2. Настройте Express.js:

    • Создайте новый файл, например, app.js, и импортируйте необходимые модули:

      const express = require('express');
      const multer = require('multer');
    • Создайте экземпляр приложения Express.js:

      const app = express();
    • Настройте механизм хранения для Multer. Вы можете указать каталог назначения и имя файла:

      const storage = multer.diskStorage({
      destination: (req, file, cb) => {
       cb(null, 'uploads/'); // Set the destination folder
      },
      filename: (req, file, cb) => {
       const uniqueSuffix = Date.now() + '-' + Math.round(Math.random() * 1E9);
       cb(null, file.fieldname + '-' + uniqueSuffix + '.' + file.originalname.split('.').pop());
      },
      });
    • Создайте промежуточное ПО Multer, используя механизм хранения:

      const upload = multer({ storage: storage });
    • Определите маршрут для обработки загрузки файлов:

      app.post('/upload', upload.single('file'), (req, res) => {
      res.send('File uploaded successfully.');
      });
    • Запустите сервер:

      app.listen(3000, () => {
      console.log('Server started on port 3000');
      });
  3. Создайте HTML-форму:

    • Создайте HTML-форму с полем ввода типа «файл»:
      <form action="/upload" method="POST" enctype="multipart/form-data">
      <input type="file" name="file" />
      <input type="submit" value="Upload" />
      </form>