[javascript] Express.js에서의 파일 다운로드 처리 방법

Express.js는 Node.js 기반의 웹 프레임워크로, 다양한 기능을 제공합니다. 이 중에서 파일 다운로드 처리는 많이 사용되는 기능 중 하나입니다. 이번 글에서는 Express.js에서 파일 다운로드를 처리하는 방법을 알아보겠습니다.

Step 1: Express.js 설치 및 기본 구성

우선 Express.js를 설치해야 합니다. 다음 명령어를 사용하여 Express.js를 설치합니다.

npm install express

다음으로, 기본적인 Express.js 앱을 구성합니다.

const express = require('express');
const app = express();

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

Step 2: 파일 다운로드 라우터 작성

파일 다운로드를 처리하기 위해 Express.js 앱에 라우터를 추가해야 합니다. 아래 코드를 참고하여 파일 다운로드 라우터를 작성해보겠습니다.

app.get('/download', (req, res) => {
  const filePath = '/path/to/your/file.pdf';

  res.download(filePath, 'file.pdf', (err) => {
    if (err) {
      console.log('Error while downloading file:', err);
    }
  });
});

위 코드에서는 /download 경로로 GET 요청이 들어왔을 때, 지정된 파일을 다운로드하는 기능을 구현하고 있습니다. res.download() 함수를 사용하여 파일을 다운로드할 수 있습니다. 첫 번째 매개변수로 다운로드할 파일의 경로를, 두 번째 매개변수로 다운로드될 파일의 이름을 지정합니다. 세 번째 매개변수는 옵션으로, 다운로드가 완료된 후에 실행될 콜백 함수를 전달할 수 있습니다.

Step 3: 앱 테스트

이제 Express.js 앱을 실행하고 /download 경로로 접속해보겠습니다. 웹 브라우저나 cURL과 같은 도구를 사용하여 /download 경로에 접속하면 지정된 파일이 다운로드될 것입니다.

// 웹 브라우저에서 접속
http://localhost:3000/download

// cURL을 사용하여 접속
curl http://localhost:3000/download -o file.pdf

위와 같이 접속하면 파일이 다운로드되고, 다운로드가 완료되면 콜백 함수가 실행되어 에러가 발생하지 않는지 확인할 수 있습니다.

이렇게 Express.js에서 파일 다운로드를 처리하는 방법을 알아보았습니다. 파일 다운로드 기능은 웹 애플리케이션에서 많이 사용되며, Express.js를 통해 간단하게 구현할 수 있습니다.

참고 자료