[nodejs] REST API를 위한 파일 업로드 및 다운로드 처리

Node.js를 사용하여 REST API를 구축할 때, 파일 업로드 및 다운로드 기능은 매우 중요합니다. 사용자는 파일을 업로드하여 서버에 저장하고, 필요할 때 다시 다운로드 받을 수 있어야 합니다. 이번 글에서는 Node.js를 사용하여 이러한 파일 업로드 및 다운로드 기능을 구현하는 방법에 대해 알아보겠습니다.

1. 파일 업로드

파일 업로드를 위해서는 multer 라이브러리를 사용할 수 있습니다. 먼저, 프로젝트에 multer를 설치합니다.

npm install multer

다음으로, 파일 업로드를 처리할 라우트를 작성합니다.

const express = require('express');
const multer  = require('multer');
const upload = multer({ dest: 'uploads/' });

const app = express();

app.post('/upload', upload.single('file'), (req, res) => {
  res.send('파일이 성공적으로 업로드되었습니다');
});

위의 코드에서 /upload 엔드포인트로 POST 요청이 들어오면 multer를 사용하여 파일을 업로드하고, 성공적으로 업로드되었음을 응답으로 보내줍니다.

2. 파일 다운로드

파일 다운로드를 처리하기 위해서는 해당 파일의 경로를 통해 사용자에게 파일을 제공해야 합니다. 이를 위해 다음과 같이 라우트를 작성할 수 있습니다.

app.get('/download/:filename', (req, res) => {
  const filePath = `uploads/${req.params.filename}`;
  res.download(filePath);
});

위의 코드에서 /download/:filename 엔드포인트로 GET 요청이 들어오면 요청된 파일을 다운로드합니다.

결론

Node.js를 사용하여 REST API에서 파일 업로드 및 다운로드 기능을 쉽게 구현할 수 있습니다. multer와 내장된 fs 모듈을 이용하면 간단하게 파일 처리 기능을 추가할 수 있습니다. 파일 처리는 많은 웹 애플리케이션에서 필수적인 기능이므로, Node.js로 백엔드를 구축하는 개발자라면 이러한 기능을 잘 숙지하는 것이 좋습니다.

참고문헌:

이상으로 Node.js를 사용한 REST API에서 파일 업로드 및 다운로드를 처리하는 방법에 대해 알아보았습니다. 감사합니다.