Как удалить папку с фото в firebase storage на next.js?

Пользователь

от roxanne.hauck , в категории: Другие , 6 месяцев назад

Как удалить папку с фото в firebase storage на next.js?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от willa_will , 6 месяцев назад

@roxanne.hauck 

Для удаления папки с фотографиями в Firebase Storage на Next.js вы можете использовать Firebase Admin SDK. Вот пример кода:

  1. Установите firebase-admin пакет.
1
npm install firebase-admin


  1. Создайте файл firebase.js для настройки Firebase Admin SDK.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import admin from "firebase-admin";

if (!admin.apps.length) {
  admin.initializeApp({
    credential: admin.credential.cert({
      // Добавьте конфигурацию Firebase Service Account здесь
    }),
    // Добавьте конфигурацию вашего Firebase проекта здесь
  });
}

export default admin;


  1. Создайте функцию для удаления папки с фотографиями.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
import admin from "./firebase";

const deleteFolder = async (folderPath) => {
  const bucket = admin.storage().bucket();
  const files = await bucket.getFiles({ prefix: folderPath });

  await Promise.all(
    files[0].map((file) => {
      return file.delete();
    })
  );
  
  return "Folder deleted successfully";
};

export default deleteFolder;


  1. Используйте эту функцию в вашем коде Next.js для удаления папки.
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
import deleteFolder from "./deleteFolder";

const folderPath = "path/to/folder";

// Вызовите функцию для удаления папки
deleteFolder(folderPath)
  .then((response) => {
    console.log(response);
  })
  .catch((error) => {
    console.log(error);
  });


Замените "path/to/folder" на путь к папке, которую вы хотите удалить.


Обратите внимание, что вы должны предоставить конфигурацию Firebase Service Account и конфигурацию вашего Firebase проекта в файле firebase.js. Если у вас еще нет конфигурации Service Account, вы можете создать ее, перейдя в Настройки проекта -> Сервисные аккаунты -> Генерировать новый приватный ключ в вашей консоли Firebase.