Я хочу получить downloadURL из файла в моем хранилище из триггера onFinalize .В лучшем случае я хочу, чтобы URL был как можно короче (поэтому желательно не подписанный, а просто такой, как общедоступный, который можно увидеть в пользовательском интерфейсе Firebase Storage).Помните, что я сначала перемещаю файл, поэтому я не могу получить к нему доступ напрямую из параметра onFinalize .
В настоящее время у меня есть следующее решение:
await imageRef.move(newPath);
const newFile = defaultBucket.file(newPath);
const url = (await newFile.getSignedUrl({
action: 'read',
expires: '03-09-2491'
}))[0];
У этого подхода есть два недостатка:
- Очевидно, подписанный URL действителен только в течение 3 дней.Это может быть известная проблема
- URL-адрес очень длинный и занимает много места в моем Firestore
Я также видел подход, при котором URL-адресвоспроизводится из имени корзины и токена, но мне не удалось найти токен в метаданных файла.