Полное руководство по загрузке файлов в Node.js: простые методы и примеры кода

Привет! Хотите научиться загружать файлы в Node.js? Вы пришли в нужное место! В этой статье мы рассмотрим различные методы и предоставим вам несколько практических примеров кода, которые помогут вам начать работу. Итак, приступим!

Метод 1: использование модуля «fs».
Один из самых простых способов загрузки файлов в Node.js — использование встроенного модуля «fs» (файловая система). Вот фрагмент кода, который даст вам представление:

const fs = require('fs');
const uploadFile = (filePath, destinationPath) => {
  fs.copyFile(filePath, destinationPath, (err) => {
    if (err) throw err;
    console.log('File uploaded successfully!');
  });
};
// Example usage
uploadFile('path/to/file.jpg', 'path/to/destination/file.jpg');

Метод 2: Express.js с промежуточным программным обеспечением Multer
Если вы работаете с популярной платформой Express.js, вы можете использовать промежуточное программное обеспечение Multer для беспрепятственной обработки загрузки файлов. Вот пример фрагмента кода:

const express = require('express');
const multer = require('multer');
const app = express();
const upload = multer({ dest: 'uploads/' });
app.post('/upload', upload.single('file'), (req, res) => {
  // Access the uploaded file via req.file
  console.log('File uploaded successfully!');
  res.send('File uploaded successfully!');
});
app.listen(3000, () => {
  console.log('Server started on port 3000');
});

Метод 3: использование Formidable
Formidable — еще одна популярная библиотека, которая упрощает загрузку файлов в Node.js. Вот пример, демонстрирующий его использование:

const http = require('http');
const formidable = require('formidable');
const server = http.createServer((req, res) => {
  if (req.url === '/upload' && req.method.toLowerCase() === 'post') {
    const form = formidable({ multiples: true });
    form.parse(req, (err, fields, files) => {
      if (err) throw err;
      console.log('File uploaded successfully!');
      res.end('File uploaded successfully!');
    });
  }
});
server.listen(3000, () => {
  console.log('Server started on port 3000');
});

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