Code & Dev Compatible: claude

Presigned File Upload to Object Storage

Complexity Level: Expert
Prompt Code Block

Design a presigned upload so the file goes from the browser to object storage without passing through my server, and a malicious client cannot overwrite someone else's object. CONSTRAINTS Storage: [S3 | R2 | GCS] Max size: [MB] Allowed types: [LIST] Who can upload: [AUTHENTICATED USER] Object key shape: [TENANT / USER / UUID / FILENAME] Public or private: [WHICH] Virus scan or dimension check after upload: [YES | NO] DELIVER 1) The API that returns the presigned URL: auth check, content-type allow list, content-length condition, expiry in minutes, and the key generated on the server. The client does not choose the key. 2) The browser call, including the headers that must match the signature. 3) How we record the object only after a confirmation request, so abandoned uploads do not become database rows. Include a cleanup for orphans. 4) The failure cases: wrong content-type, oversized file, expired URL, replay of a URL. 5) The bucket policy idea: no public list, private by default, downloads via a second presign or a CDN with auth. Do not embed the storage secret in the client. Do not use the original filename as the only key.

🌟 Example Output / Preview

### Generated Component Preview: ```typescript // Fully validated modern structure import { z } from 'zod'; export const RequestSchema = z.object({ id: z.string().uuid(), createdAt: z.date().default(() => new Date()), data: z.record(z.string(), z.any()) }); export type ValidatedRequest = z.infer<typeof RequestSchema>; ```

Prompt Metadata

DifficultyExpert
Compatibilityclaude

Primary Use Cases:

  • •Legacy code modernization & technical refactoring
  • •Full-stack layout generation & component structuring
  • •CI/CD workflow automation & unit/E2E testing suites

Associated Tags:

#upload #s3 #typescript #api

💡 Pro Tips & Advice

1. Use bracketed items: Be sure to fill out all [PLACEHOLDER] elements with specific details before sending the prompt to the AI model.

2. Adjust temperature: For creative tasks, set AI temperature higher (e.g., 0.8), or lower (e.g., 0.2) for strict coding/technical tasks.

🔗 Related AI Prompts

Code & Dev
★ Featured

Full SaaS Landing Page Build Spec (SEO + Conversion)

You are a Staff Product Designer + Frontend Engineer + SEO strategist. Build a complete, production-ready marketing landing page f...

Compatible:claudeDiff:Advanced
#landing-page #saas #seo #nextjs #tailwind
Code & Dev
★ Featured 🔥 Trending

SaaS Analytics Dashboard Full Build Spec

You are a Principal Product Designer + Frontend Lead. Design and specify a complete [LIGHT | DARK] analytics dashboard for [PRODUC...

Compatible:claudeDiff:Intermediate
#dashboard #saas #ui #tailwind #seo
Code & Dev

SaaS Admin Panel Dashboard Build Spec

Design a full internal Admin Dashboard for [PRODUCT_NAME] used by [ADMIN_ROLE: support | ops | super-admin]. --- 🎯 CONTEXT Adm...

Compatible:claudeDiff:Intermediate
#admin #dashboard #saas #crud #tailwind