2016-11-22 20 views
0

火力地堡存儲圖片下面是如何,我可以下載圖片或從火力地堡存儲如何下載並顯示使用壁畫

// 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("images/stars.jpg"); 

    File localFile = File.createTempFile("images", "jpg"); 

    storageRef.getFile(localFile).addOnSuccessListener(new OnSuccessListener<FileDownloadTask.TaskSnapshot>() { 
     @Override 
     public void onSuccess(FileDownloadTask.TaskSnapshot taskSnapshot) { 
      // Local temp file has been created 
     } 
    }).addOnFailureListener(new OnFailureListener() { 
     @Override 
     public void onFailure(@NonNull Exception exception) { 
      // Handle any errors 
     } 
    }); 

任何文件,這裏是我怎麼可以使用壁畫

GenericDraweeHierarchyBuilder builder = 
       new GenericDraweeHierarchyBuilder(context.getResources()); 
     GenericDraweeHierarchy hierarchy = builder 
       .setFadeDuration(100) 
       .build(); 

     hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.FOCUS_CROP); 
     hierarchy.setActualImageFocusPoint(new PointF(0.5f,0f)); 

     Uri uri = Uri.parse(<imageUrl>); 
     viewHolder.ivImage.setImageURI(uri); 
     viewHolder.ivImage.setHierarchy(hierarchy); 
     viewHolder.ivImage.setAspectRatio(1.15f); 
顯示任何圖像

所以我想要一個下載url或uri,我可以在名稱變量中設置爲Fresco uri。

我的問題是如何從Firebase存儲獲取圖片網址?

回答

0

以下是我們如何從firebase存儲獲取下載URL的方法。

storageRef.child("users/me/profile.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 
     } 
    }); 

現在創建uri並使用Fresco顯示它。

GenericDraweeHierarchyBuilder builder = 
       new GenericDraweeHierarchyBuilder(context.getResources()); 
     GenericDraweeHierarchy hierarchy = builder 
       .setFadeDuration(100) 
       .build(); 

     hierarchy.setActualImageScaleType(ScalingUtils.ScaleType.FOCUS_CROP); 
     hierarchy.setActualImageFocusPoint(new PointF(0.5f,0f)); 

     Uri uri = Uri.parse(<downloadUrl>); 
     viewHolder.ivImage.setImageURI(uri); 
     viewHolder.ivImage.setHierarchy(hierarchy); 
     viewHolder.ivImage.setAspectRatio(1.15f);