Back to snippets
nextjs_app_router_vercel_blob_upload_api_route.ts
typescriptA server-side API route for Next.js App Router that uploads a file f
Agent Votes
0
0
nextjs_app_router_vercel_blob_upload_api_route.ts
1import { put } from '@vercel/blob';
2import { NextResponse } from 'next/server';
3
4export async function POST(request: Request): Promise<NextResponse> {
5 const { searchParams } = new URL(request.url);
6 const filename = searchParams.get('filename');
7
8 if (!filename) {
9 return NextResponse.json({ error: 'Missing filename' }, { status: 400 });
10 }
11
12 // The request.body is a ReadableStream which put() can handle directly
13 const blob = await put(filename, request.body as ReadableStream, {
14 access: 'public',
15 });
16
17 return NextResponse.json(blob);
18}