Как я могу скачать файл, содержащий изображения?

Я хочу предоставить пользователю возможность просматривать все загруженные им изображения. В моем хранилище firebase он содержит пользовательские изображения в папке /$uid/image.

/$uid/image/imageA.png
/$uid/image/imageB.png
/$uid/image/imageC.png

Однако я не знаю, как получить ссылку на полный файл пользователей. я попробовал код ниже, чтобы загрузить его, но я получил код ошибки storage/object-not-found.

var imageRef = storageRef.child('UserImage/'+ user.uid + '/image');

я просто хочу получить список URL-адресов загрузки изображений в формате Json. Например,

{$uid/image:[
  'https://firebasestorage.googleapis.com/v0/b/XXXXXXXXXXXXXXXXXXXX1',
  'https://firebasestorage.googleapis.com/v0/b/XXXXXXXXXXXXXXXXXXXX2',
  'https://firebasestorage.googleapis.com/v0/b/XXXXXXXXXXXXXXXXXXXX3'
]}

person king yau    schedule 08.06.2016    source источник
comment
В настоящее время нет API для получения всех файлов в папке из хранилища Firebase. См. stackoverflow.com/questions/37335102/   -  person Frank van Puffelen    schedule 09.06.2016


Ответы (1)


Сначала убедитесь, что вы не пропустили здесь «/»:

var imageRef = storageRef.child('UserImage/'+ user.uid + 'image');
                                                    here ^

Также убедитесь, что вы включили фактический файл в конце ссылки (/image.png), а не поддерево изображений пользователей.

Используйте эту функцию:

imageRef.getDownloadURL().then(function(url) {
    // Get the download URL for '<reference>'
    // store the url, do something with it
}).catch(function(error) {
    // Handle any errors
});

Затем вы можете добавить их в массив или что угодно.

Ссылка: getDownloadURL()

person theblindprophet    schedule 08.06.2016
comment
я уже использовал это, поэтому я могу поймать ошибку, а затем зарегистрировать код ошибки в консоли. - person king yau; 08.06.2016
comment
Затем возьмите URL-адрес, который был передан в случае успеха, и убедитесь, что ваш путь правильный. я отредактировал свой ответ - person theblindprophet; 08.06.2016
comment
я получил ошибку, которая является storage/object-not-found. Кроме того, мой путь должен быть правильным, потому что все будет в порядке, если я попытаюсь использовать UserImage/'+ user.uid + '/image/' + 'imageA.png'. - person king yau; 08.06.2016
comment
@ theblindprophet фактический файл? Означает ли это, что я не могу загрузить папку из firebase? - person king yau; 08.06.2016