Как удалить файл из firebase, используя URL-адрес файла в node.js?

Опубликовано: 27 Июля, 2021

Чтобы удалить файл из хранилища firebase, нам нужна ссылка для сохранения файла в хранилище. Поскольку у нас есть только URL-адрес файла, нам нужно создать объект ссылки на файл в хранилище firebase, а затем удалить этот файл.

Удаление файла с использованием URL-адреса файла можно выполнить в два этапа:

  1. Получите ссылку на хранилище с помощью метода refFromUrl из firebase.storage.
  2. Удаление файла с использованием ссылки на файл в хранилище, полученной на шаге 1.

Метод refFromUrl возвращает ссылку на этот файл и может принимать в качестве входных данных два типа URL-адреса файла:

  1. gs: // URL, например gs: //bucket/files/image.png
  2. URL загрузки взят из метаданных объекта.

Пример 1: Удаление файла по указанному URL-адресу файла с помощью метода refFromURL.

Javascript




var fileUrl =
// Create a reference to the file to delete
var fileRef = storage.refFromURL(fileUrl);
console.log( "File in database before delete exists : "
+ fileRef.exists())
// Delete the file using the delete() method
fileRef. delete ().then( function () {
// File deleted successfully
console.log( "File Deleted" )
}). catch ( function (error) {
// Some Error occurred
});
console.log( "File in database after delete exists : "
+ fileRef.exists())

Выход:

 Файл в базе данных до удаления существует: true
Файл удален
Файл в базе данных после удаления существует: false

Пример 2: Удаление файла с использованием bucket gs: // URL

Javascript




// gs Bucket URL
// Create a reference to the file to delete
var fileRef = storage.refFromURL(fileUrl);
console.log( "File in database before delete exists : "
+ fileRef.exists())
// Delete the file using the delete() method
fileRef. delete ().then( function () {
// File deleted successfully
console.log( "File Deleted" )
}). catch ( function (error) {
// Some Error occurred
});
console.log( "File in database after delete exists : "
+ fileRef.exists())

Выход :

 Файл в базе данных до удаления существует: true
Файл удален
Файл в базе данных после удаления существует: false