Я загружаю некоторые изображения в Firebase Storage, используя Javascript API. Полученный объект выглядит следующим образом:
{
bucket: 'my-bucket',
contentType: 'image/jpeg',
...
id: 'my-bucket/path/to/image.jpeg',
mediaLink: "https://www.googleapis.com/download/storage/v1/b/my-bucket/o/path%2Fto%2Fimage.jpeg?generation=123456789&alt=media",
name: 'path/to/image.jpeg',
selfLink: 'https://www.googleapis.com/storage/v1/b/my-bucket/o/path%2Fto%2Fimage.jpeg',
...
}
Как видите, я получаю id
, name
и две ссылки, которые как-то связаны между собой. Некоторые из них имеют закодированный путь, некоторые относительные, некоторые абсолютные.
Теперь я хочу загрузить его, используя Javascript API, с вошедшим в систему пользователем. Это прекрасно работает:
let urlPromise = firebase.storage()
.refFromURL("gs://my-bucket/path/to/image.jpeg")
.getDownloadUrl();
Однако я не могу заставить его работать с ref()
API:
let urlPromise = firebase.storage()
.ref("path/to/image.jpeg")
.getDownloadUrl();
Вместо path/to/image.jpeg
(name
), я также пробовал id
, mediaLink
и selfLink
, но я всегда получаю FirebaseStorageError
(404).
Какой именно параметр ожидается в методе .ref()
?
документы также не указаны c.
Редактировать: Вот фактический скриншот того, как файл появляется в консоли Firebase:
![enter image description here](https://i.stack.imgur.com/NYY6R.png)
Если я передам свойство Name
(1997_Ford_Falcon_(EL)_GLi_sedan_(17670566466).jpg_320px-1997_Ford_Falcon_(EL.jpg
) ref()
, я получу 404. Если я использую путь gs://my-bucket/...
, он говорит, что ref()
не может получить URL.
Редактировать 2: Я проверил точные URL, которые генерируются двумя методами. Это URL, который я получаю от ref()
:
https://firebasestorage.googleapis.com/v0/b/my-bucket.appspot.com/
o/upload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F0%2F00%2F1997_Ford_Falcon_(EL)_GLi_
sedan_(17670566466).jpg_320px-1997_Ford_Falcon_(EL.jpg
Это рабочий URL от refFromURL()
:
https://firebasestorage.googleapis.com/v0/b/my-bucket/
o/upload.wikimedia.org%2Fwikipedia%2Fcommons%2Fthumb%2F0%2F00%2F1997_Ford_Falcon_(EL)_GLi_
sedan_(17670566466).jpg_320px-1997_Ford_Falcon_(EL.jpg
Как видите, метод ref()
добавляет .appspot.com
к названию ведра. Это, кажется, вызывает проблему.