Home / Companies / Upstash / Blog / Post Details
Content Deep Dive

What's the best file storage for Next.js? A practical guide to Next.js file uploads (2026)

Blog post from Upstash

Post Details
Company
Date Published
Author
Josh
Word Count
2,013
Company Posts That Month
21
Language
English
Hacker News Points
-
Post removed?
No
Summary

Next.js Server Actions and serverless functions impose request-size limits that make routing large uploads through an application server impractical and potentially costly, so direct browser-to-storage uploads using short-lived server-authorized permissions are presented as the preferred approach. Upstash Blob, an S3-compatible service, is positioned as a default option for Next.js App Router applications because its server handler and typed React hook support direct uploads, multipart transfers, resumability, retries, progress reporting, validation, and public or expiring private file access while avoiding function payload limits. Its pricing includes free uploads, 1 TB of monthly download bandwidth, and relatively low storage and subsequent download rates, although Cloudflare R2 can be less expensive for applications serving many terabytes of data because it has no egress charges. The setup involves creating a bucket and token, defining server-side upload constraints and callbacks, exposing them through a route, connecting a typed client hook, and storing upload results idempotently to account for callback retries. Other services may be preferable for specific requirements, including Cloudinary for image or video transformations, UploadThing for predictable flat-rate billing and ready-made UI, Supabase Storage for Supabase-based applications, and AWS S3 with CloudFront for organizations already operating within AWS.

Trends Found in this Post
Trend Post Mentions Total Month Mentions Posts Companies MoM
Serverless 2 1,224 281 103 +39%
Use This Data

Use this post, company, and trend context to find content marketing opportunities, perform competitive analysis, or address product feature gaps via the Plushcap MCP server or the Plushcap API.