Маршрут API для генерации presigned URL
-
Маршрут 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 + поля, необходимые для загрузки.
Здравствуйте! Похоже, вас заинтересовала эта беседа, но у вас ещё нет аккаунта.
Надоело каждый раз пролистывать одни и те же посты? Зарегистрировав аккаунт, вы всегда будете возвращаться на ту же страницу, где были раньше, и сможете выбирать, получать ли уведомления о новых ответах (по электронной почте или в виде push-уведомлений). Вы также сможете сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост мог бы стать ещё лучше 💗
Зарегистрироваться Войти© 2024 - 2026 ExLends, Inc. Все права защищены.