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로 백엔드를 구축하는 개발자라면 이러한 기능을 잘 숙지하는 것이 좋습니다.
참고문헌:
- Multer 라이브러리: https://www.npmjs.com/package/multer
- Node.js 공식 문서: https://nodejs.org/api/fs.html
이상으로 Node.js를 사용한 REST API에서 파일 업로드 및 다운로드를 처리하는 방법에 대해 알아보았습니다. 감사합니다.