首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >firebase存储的getDownloadUrl()为所有上传的文件返回相同且错误的链接。如何解决这个问题?

firebase存储的getDownloadUrl()为所有上传的文件返回相同且错误的链接。如何解决这个问题?
EN

Stack Overflow用户
提问于 2018-06-30 19:08:14
回答 1查看 1.1K关注 0票数 1

我正在建立一个使用firebase的应用程序聊天功能。除了从存储中获取图像之外,一切都可以正常工作。图像上传成功,但数据库中存储的所有图像的downloadURl始终为com.google.android.gms.tasks.zzu@7e17eff。如果我在从firebase存储中复制后手动更改数据库中的下载链接,则会获取图像。

处理firbase上载的方法

private void putImageInStorage(final StorageReference storageReference, Uri uri, final String key) {
    storageReference.putFile(uri).addOnCompleteListener(
            new OnCompleteListener<UploadTask.TaskSnapshot>() {
                @Override
                public void onComplete(@NonNull Task<UploadTask.TaskSnapshot> task) {
                    if (task.isSuccessful()) {
                        message friendlyMessage =
                                new message(null, mUsername, mPhotoUrl,
                                       task.getResult().getStorage().getDownloadUrl().toString() , mFirebaseUser.getUid());
                        mFirebaseDatabaseReference.child(MESSAGES_CHILD).child(key)
                                .setValue(friendlyMessage);
                    } else {
                        Log.w(TAG, "Image upload task was not successful.",
                                task.getException());
                    }
                }
            });
}

在上面的代码中,消息(friendlyMessage)是firebaseRecycler的pojo。

我对应用程序的Firebase依赖项。

implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.firebase:firebase-storage:16.0.1'
implementation 'com.google.firebase:firebase-messaging:17.1.0'
implementation 'com.google.firebase:firebase-config:16.0.0'
implementation 'com.firebaseui:firebase-ui-database:3.3.1'
EN

回答 1

Stack Overflow用户

发布于 2018-06-30 21:09:38

使用taskSnapshot对象的getDownloadUrl()方法已更改。因此,使用

task.getMetadata().getReference().getDownloadUrl().toString() 

而不是-

task.getResult().getStorage().getDownloadUrl().toString()
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51114327

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档