【发布时间】:2018-11-12 15:09:40
【问题描述】:
要将 图像 上传到 Firebase 存储,我将 addOnSuccessListener 附加到 StorageReference 的实例上。在覆盖onSuccess 方法时,我在taskSnapshot 的实例上调用getDownloadUrl(),但它给了我一个错误提示
无法解析方法 getDownloadUrl()
这个应用程序是我 2 个月前创建的,早些时候这个应用程序运行良好,getDownloadUrl() 也运行良好。另外,在taskSnapshot 实例中,当我按下Ctrl+空格 时,在建议中我找不到getDownloadUrl() 方法。为什么会这样?
编码至onActivityResult():
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == RC_SIGN_IN) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "Signed in!!!1", Toast.LENGTH_SHORT).show();
} else if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Failed to sign in", Toast.LENGTH_SHORT).show();
finish();
}
}
else if(requestCode == RC_PHOTO_PICKER && resultCode == RESULT_OK){
Uri selectedPhoto = data.getData();
StorageReference localRefrence = storageReference.child(selectedPhoto.getLastPathSegment());
// Uploading the file on the storage
localRefrence.putFile(selectedPhoto).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
Uri downloadUrl = taskSnapshot.getDownloadUrl();
FriendlyMessage message = new FriendlyMessage(mUsername, null, downloadUrl.toString());
databaseReference.push().setValue(message);
}
});
}
}
【问题讨论】:
-
在完成相关问题后,我也尝试了
@SuppressWarnings("VisibleForTests") Uri downloadUrl = taskSnapshot.getDownloadUrl();,但仍然遇到同样的错误。 -
打印屏幕代码真是个糟糕的主意。
-
@JosefKorbel 它以红色显示
getDownloadUrl(),这就是我添加它的原因。 -
是的,但是我们无法复制和复制,没有人会从截图中重写它。
-
最好将代码复制到问题中,而不是显示难以阅读且无法搜索的屏幕截图。
标签: android firebase firebase-storage