【问题标题】:android studio _ firebase _ storage _ get download url [duplicate]android studio_firebase_storage_获取下载网址[重复]
【发布时间】:2018-07-26 16:04:26
【问题描述】:

我正在开发 Android Studio 并使用 Firebase Storage,我可以上传我想要的图片,但无法获取下载网址。

我用过这个:

askSnapshot.getMetadata().getReference().getDownloadUrl().toString();

还有这个:

filepath.getDownloadUrl().toString();

结果是一样的

它向我展示了这样的东西:

com.google.android.gms.tasks.zzu@f7d5815

我的上传代码:

FirebaseStorage 存储; 存储参考存储参考;

存储 = FirebaseStorage.getInstance(); storageReference = storage.getReference(); 最终 StorageReference 文件路径 = storageReference.child("images").child("test.jpg");

       filepath.putFile(selectedImage).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
           @Override
           public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
               bigImageEncoded=filepath.getDownloadUrl().toString();
               thumbImageEncoded=taskSnapshot.getMetadata().getReference().getDownloadUrl().toString();

               Log.d("download_url",bigImageEncoded);


           }
       }).addOnFailureListener(new OnFailureListener() {
           @Override
           public void onFailure(@NonNull Exception e) {
                  Log.d("erorr",e.getMessage());
           }
       });

有人可以帮忙吗?!! 谢谢

【问题讨论】:

    标签: java android firebase firebase-realtime-database firebase-storage


    【解决方案1】:

    为了解决这个问题,我建议在上传任何文件时,将下载 URL 存储到 Firebase Realtime Database 或新的 Cloud Firestore 等数据库中,以便以后使用。

    请看下面获取download URL的简单示例。

    storageRef.child("YourFolderName").getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
        @Override
        public void onSuccess(Uri uri) {
            // Got the download URL for "YourFolderName/YourFile.pdf"
            // Add it to your database
        }
    }).addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            // Handle any errors
        }
    });
    

    【讨论】:

    • 它的工作原理非常感谢你,这是很烦人的问题
    • @aboahmad 不客气!
    【解决方案2】:

    你需要监听这个事件

    filepath.getDownloadUrl().addOnSuccessListener(...{...})
    

    你会在回调中得到uri

    【讨论】:

    • 它工作了谢谢,这是非常烦人的问题
    猜你喜欢
    • 1970-01-01
    • 2018-11-20
    • 2015-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 2019-11-01
    • 2012-07-06
    相关资源
    最近更新 更多