Communitygithub.com

YepAPI/skills

Presigned URL 업로드, 대용량 파일을 위한 멀티파트 업로드, S3/R2/Supabase Storage 지원.

skills란 무엇인가요?

이 스킬은 파일 업로드 기능을 구현할 때 클라이언트가 서버를 거치지 않고 직접 스토리지(S3, R2, Supabase Storage)에 업로드할 수 있도록 Presigned URL 방식을 사용합니다. 5MB 이상의 대용량 파일은 자동으로 청크로 분할하여 병렬 업로드하는 멀티파트 업로드를 지원합니다. 클라이언트에서는 파일 타입과 크기를 사전 검증하고, 서버에서는 Magic Bytes를 확인하여 확장자에 의존하지 않는 철저한 검증을 수행합니다. 또한 업로드 시 이미지를 자동 리사이즈(최대 2048px), WebP 변환, EXIF 제거하며, XMLHttpRequest나 fetch의 ReadableStream을 활용한 진행률 추적을 제공합니다. 보안이 중요한 컨텍스트에서는 바이러스 스캔 기능도 포함할 수 있습니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/YepAPI/skills/tree/HEAD/skills/file-uploads

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

파일 업로드

규칙

  • Presigned URL을 사용하여 클라이언트가 서버를 거치지 않고 스토리지에 직접 업로드합니다.
  • 5MB를 초과하는 파일은 멀티파트 업로드로 청크를 나누어 병렬 업로드합니다.
  • 클라이언트 측 검증: 파일 타입과 크기 제한을 확인하며, 서버에서도 다시 검증합니다.
  • 이미지 최적화: 업로드 시 리사이즈(최대 2048px), WebP 변환, EXIF 정보 제거를 수행합니다.
  • 진행률 추적: XMLHttpRequest 또는 fetch의 ReadableStream을 사용하여 업로드 진행률을 추적합니다.
  • 지원 스토리지: S3, R2(Cloudflare), Supabase Storage — 모두 동일한 Presigned URL 패턴을 사용합니다.
  • 서버 측 파일 타입 검증: 파일 확장자가 아닌 Magic Bytes를 확인합니다.
  • 보안 강화 컨텍스트에서는 사용자 업로드 파일에 대한 바이러스 스캔을 수행합니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

YepAPI/skills

WCAG 2.1 AA — semantic HTML, keyboard navigation, screen readers.

YepAPI/skills

Experiment setup, variant splitting, statistical significance, and feature flag integration.

YepAPI/skills

CRUD generators, data tables, user management, role-based access, and bulk operations.

YepAPI/skills

Monitor what ChatGPT and Gemini say about your brand using YepAPI.

YepAPI/skills

Queue workers with BullMQ/Inngest/Trigger.dev, job retries, dead letter queues, concurrency.

YepAPI/skills

Commander.js, interactive prompts with Clack, spinners, colors, config files, exit codes, and npm publishing.

YepAPI/skills

cmdk integration, Cmd+K trigger, fuzzy search, grouped actions, keyboard navigation, and dynamic action registration.

YepAPI/skills

Content planning with trend and sentiment data from YepAPI.

YepAPI/skills

Content calendar, keyword-driven planning, and content briefs.

YepAPI/skills

Theme switching with CSS variables, system preference detection, next-themes, and persistence.

YepAPI/skills

Threaded comments, @mentions, reactions, moderation queue, optimistic UI, and cursor pagination.

YepAPI/skills

Competitive analysis between domains using YepAPI.

YepAPI/skills

Layout grids, KPI cards, data tables with sorting/filtering, sidebar navigation, and responsive breakpoints.

YepAPI/skills

Data encryption — TLS everywhere, AES-256-GCM for PII, bcrypt passwords, encrypted backups.

YepAPI/skills

Chart patterns with Recharts/Nivo/D3, responsive containers, color scales, and accessibility.

YepAPI/skills

Drizzle schema definition, push vs migrate, type-safe queries, relations, transactions, and prepared statements.

YepAPI/skills

Upload handling, resize/compress, CDN delivery, blur placeholders, and next/image patterns.

YepAPI/skills

Local business and Google Maps research using YepAPI.

YepAPI/skills

Cursor-based pagination, IntersectionObserver, virtualized lists with @tanstack/react-virtual, and scroll position restoration.

YepAPI/skills

Chat UI components, streaming responses with AI SDK, context window management, and RAG patterns.

관련 스킬