Перейти к содержанию
  • Категории
  • Последние
  • Метки
  • Популярные
  • Пользователи
  • Группы
Свернуть
Логотип бренда
Категории
  1. Главная
  2. Категории
  3. Фронтенд
  4. NextJs
  5. Маршрут API для генерации presigned URL

Маршрут API для генерации presigned URL

Запланировано Прикреплена Закрыта Перенесена NextJs
1 Сообщения 1 Постеры 10 Просмотры
  • Сначала старые
  • Сначала новые
  • По количеству голосов
Ответить
  • Ответить, создав новую тему
Авторизуйтесь, чтобы ответить
Эта тема была удалена. Только пользователи с правом управления темами могут её видеть.
  • kirilljsK Не в сети
    kirilljsK Не в сети
    kirilljs
    js
    написал отредактировано
    #1

    Маршрут 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 + поля, необходимые для загрузки.

    1 ответ Последний ответ
    0

    Категории

    • Главная
    • Новости
    • Фронтенд
    • Бекенд
    • Языки программирования

    Контакты

    • Сотрудничество
    • info@rosdesk.ru
    • Наш чат
    • Наш ТГ канал

    © 2024 - 2025 RosDesk, Inc. Все права защищены.

    Политика конфиденциальности
    • Войти

    • Нет учётной записи? Зарегистрироваться

    • Войдите или зарегистрируйтесь для поиска.
    • Первое сообщение
      Последнее сообщение
    0
    • Категории
    • Последние
    • Метки
    • Популярные
    • Пользователи
    • Группы