[nodejs] Fastify와 파일 업로드 처리

Fastify는 빠르고 효율적인 웹 프레임워크로, 파일 업로드를 포함한 여러가지 기능을 간편하게 지원합니다. 이번 글에서는 Fastify를 사용하여 파일 업로드를 처리하는 방법에 대해 알아보겠습니다.

Fastify 설정

먼저 Fastify를 설치하고 기본적인 설정을 해야 합니다. 이를 위해 npm을 사용하여 Fastify를 설치합니다.

npm install fastify

다음으로, Fastify를 초기화하고 설정합니다.

const fastify = require('fastify')();

fastify.register(require('fastify-multipart'), {
  attachFieldsToBody: true
});

fastify.listen(3000, (err, address) => {
  if (err) throw err;
  console.log(`Server is now listening on ${address}`);
});

위 코드에서는 Fastify를 초기화하고, fastify-multipart 플러그인을 등록하여 멀티파트(form-data) 요청을 처리할 수 있도록 설정합니다.

파일 업로드 처리

이제 파일 업로드를 처리하는 라우트를 만들어보겠습니다. /upload 엔드포인트에 POST 요청이 들어왔을 때, 파일을 업로드하고 저장하는 기능을 구현해야 합니다.

fastify.post('/upload', async (req, reply) => {
  const data = await req.file();

  // 파일 처리 로직

  return { success: true, message: '파일이 성공적으로 업로드 되었습니다.' };
});

위 코드에서는 /upload 엔드포인트에 POST 요청이 오면, req.file()을 사용하여 파일을 받아올 수 있습니다. 파일을 받아온 후에는 해당 파일을 저장하거나 다른 작업을 수행할 수 있습니다.

이제 Fastify를 실행하고, 파일을 업로드하는 요청을 보내면 해당 파일이 성공적으로 업로드되는 것을 확인할 수 있습니다.

마무리

이렇게 Fastify를 사용하여 파일 업로드를 처리하는 방법을 알아보았습니다. Fastify의 빠른 속도와 간편한 설정을 통해 파일 업로드 기능을 구현하는 것이 쉽고 효율적입니다. Fastify를 활용하여 다양한 웹 어플리케이션을 개발해보세요!

Fastify 공식 문서에서 더 많은 정보를 확인할 수 있습니다.