РЕДАКТИРОВАТЬ В СООТВЕТСТВИИ С ВАШИМ ВОПРОСОМ ПЕРЕРАБОТКА
Исходя из вашего кода и экрана печати консоли Cloud Storage, вы работаете в корзине проекта по умолчанию, расположение которой URL-адрес gs://alex-logistics.appspot.com
.
Как мы видим на экране печати консоли Cloud Storage, файлы в вашем хранилище представлены в иерархической структуре , точно так же, как файловая система на вашем локальном жестком диске. Однако это просто способ представления файлов: в корзине нет подлинных папок / каталогов, консоль Cloud Storage просто использует другую часть путей к файлам для «имитации» структуры папок.
Итак, основываясь на вышеприведенных абзацах, я думаю, что ваш вопрос можно перефразировать как " В облачной функции, как я могу извлечь различные части пути файла, который загружен в область по умолчанию для моего проекта Firebase?".
Ответ:
В облачной функции, которая запускается при добавлении файла в корзину по умолчанию, вы можно получить путь к файлу следующим образом:
exports.yourCloudFunction = functions.storage.object().onFinalize(async (object) => {
const filePath = object.name; // File path in the bucket.
//...
});
Поскольку мы используем обработчик событий onFinalize
, вы получите путь к этому новому файлу с помощью name
свойство object
объекта типа ObjectMetadata
.
Затем вы можете использовать некоторые методы String
, чтобы, например, извлечь из этого пути ${loadID}
, на который вы ссылаетесь в своем вопросе.