유튜브블로그Top 10
내 프로필

데브허브 안내
소개업데이트 소식

데브허브 커뮤니티

Build a Full Stack File Upload System with Next.js, UploadThing & Prisma

Cand Dev

2025. 10. 13.

0

#frontend
#db
  • Next.js, UploadThing, Prisma를 활용하여 드래그 앤 드롭 및 파일 미리보기 기능을 갖춘 풀스택 파일 업로드 시스템 구축 방법을 설명합니다. 🚀
  • react-dropzone 라이브러리를 사용하여 직관적인 드래그 앤 드롭 UI를 구현하고, 파일 유형(이미지/비디오)에 따라 동적으로 미리보기를 제공합니다. 🖼️
  • 업로드 전 이미지와 비디오 파일만 허용하며, 한 번에 하나의 파일만 업로드하도록 제한하는 유효성 검사 로직을 포함합니다. 🚫
  • UploadThing 서비스를 통해 파일 저장 및 업로드 API를 처리하며, API 키를 환경 변수로 설정하고 core.tsroute.ts 파일을 구성합니다. ☁️
  • core.ts 파일에서 createUploadthing을 사용하여 이미지 및 비디오의 최대 파일 크기를 정의하고, 업로드 완료 시 onUploadComplete 콜백을 통해 파일 URL을 처리합니다. ⚙️
  • 클라이언트 측에서는 useUploadThing 훅을 사용하여 업로드 기능을 트리거하고, 업로드 진행 상태를 관리하며, 업로드 완료 후 클라이언트 측 로직을 실행합니다. 📤
  • 최종적으로 업로드된 파일의 URL을 Prisma ORM을 통해 데이터베이스에 저장하여 파일 관리의 영속성을 확보합니다. 💾
  • Next.js의 App Router와 클라이언트 컴포넌트("use client")를 활용하여 react-dropzone과 같은 클라이언트 전용 훅을 통합하는 방법을 보여줍니다. 💻

Recommanded Videos