2017-10-07 73 views
0

我想在android应用程序的firebase存储下载图像。如何在Firebase存储上下载图像?

这是我的形象

enter image description here

我尝试这一点,但它不工作

storageRef.child("1/1.jpg").getDownloadUrl().getResult(); 
+1

https://firebase.google.com/docs/storage/android/download - 文件 – Ibrahim

+0

什么是不工作的代码? –

回答

1

试试这个

// Create a storage reference from our app 
StorageReference storageRef = storage.getReferenceFromUrl("gs://<your-bucket-name>"); 

// Create a reference with an initial file path and name 
StorageReference pathReference = storageRef.child("users/me/yourpics.png"); 

storageRef.child("users/me/yourpics.png").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { 
      @Override 
      public void onSuccess(Uri uri) { 
       // Got the download URL for 'users/me/profile.png' 
      } 
     }).addOnFailureListener(new OnFailureListener() { 
      @Override 
      public void onFailure(@NonNull Exception exception) { 
       // Handle any errors 
      } 
     }); 
+0

**用户/我/ **是什么?为什么**。png **? –

+0

StorageReference pathReference = storageRef.child(“images/stars.jpg”); –

1

要下载文件,首先创建一个云存储对您要下载的文件的引用。

您可以通过将子路径附加到存储根目录来创建引用,也可以从引用Cloud Storage中的对象的现有gs://https:// URL创建引用。

// Create a storage reference from our app 
StorageReference storageRef = storage.getReference(); 

// Create a reference with an initial file path and name 
StorageReference pathReference = storageRef.child("images/stars.jpg"); 

images是根的孩子。

storageRef.child("images/stars.jpg").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() { 
    @Override 
    public void onSuccess(Uri uri) { 
     // Got the download URL for 'users/me/profile.png' 
    } 
}).addOnFailureListener(new OnFailureListener() { 
    @Override 
    public void onFailure(@NonNull Exception exception) { 
     // Handle any errors 
    } 
}); 
+0

@ErsinGülbahar尝试查看您在onFailure中遇到的错误。 –

1

试试这个


// Create a storage reference from our app 
StorageReference storageRef = storage.getReference(); 

// Create a reference to a file from a Google Cloud Storage URI 
StorageReference gsReference = 
    storage.getReferenceFromUrl("gs://bucket/images/stars.jpg"); 

//Download file in Memory 
StorageReference islandRef = storageRef.child("images/island.jpg"); 

final long ONE_MEGABYTE = 1024 * 1024; 
islandRef.getBytes(ONE_MEGABYTE).addOnSuccessListener(new   
OnSuccessListener<byte[]>() { 
    @Override 
    public void onSuccess(byte[] bytes) { 
     // Data for "images/island.jpg" is returns, use this as needed 
    } 
}).addOnFailureListener(new OnFailureListener() { 
    @Override 
    public void onFailure(@NonNull Exception exception) { 
     // Handle any errors 
    } 
}); 

相关问题