Маршрут API для генерации presigned URL
NextJs
1
Сообщения
1
Постеры
10
Просмотры
-
Маршрут API для генерации presigned URL для загрузки в S3 в Next.js
// S3 Presign Upload export async function POST(req: Request) { const { type } = await req.json(); const key = `${nanoid()}.${type.split('/')[1]}`; const { url, fields } = await new Promise((res, rej) => { s3.createPresignedPost( { Bucket: 'your-bucket-name', Fields: { key }, Expires: 60, Conditions: [ ['content-length-range', 0, 5 * 1024 * 1024], ['starts-with', '$Content-Type', 'image/'], ], }, (err, data) => err ? rej(err) : res(data) ); }); return Response.json({ url, fields, key }); }
Используется вместе с кастомным upload-хуком, чтобы безопасно загружать файлы напрямую в S3 с клиента.
Он проверяет тип файла, генерирует уникальный ключ и возвращает presigned URL + поля, необходимые для загрузки.
© 2024 - 2025 RosDesk, Inc. Все права защищены.