2016-06-08 58 views
0

我想提供一個功能,用戶可以查看他們上傳的所有圖像。在我的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'); 

我只想得到一個圖像的JSON格式下載網址列表。 例如,

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

目前還沒有API從火力地堡的存儲文件夾中的所有文件。看到http://stackoverflow.com/questions/37335102/how-to-get-an-array-with-all-pictures/37337436#37337436 –

回答

0

首先確保你不會錯過一個「/」在這裏:

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()

+0

我已經使用這個,所以我可以捕捉錯誤,然後記錄錯誤代碼在控制檯中。 –

+0

然後抓住傳入成功的url,然後檢查以確保您的路徑正確。我編輯了我的答案 – theblindprophet

+0

我收到了一個錯誤,那就是'storage/object-not-found'。另外,我的路徑應該是正確的,因爲如果我嘗試使用'UserImage /'+ user.uid +'/ image /'+'imageA.png'',它就可以正常工作。 –

相關問題