将图像上传到Firebase存储,我附加addOnSuccessListener
在StorageReference的实例上。虽然重写onSuccess
方法但我调用getDownloadUrl()
给实例时,taskSnapshot
给我一个错误:
无法解析方法getDownloadUrl()
这个应用程序我创造了2个月,早期工作正常,getDownloadUrl()
工作也很好。另外,例如,当我按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);
}
});
}
}
链接到我的MainActivity: MainActivity
发布于 2018-06-15 09:47:47
Firebase API已更改。
2018年5月23日 云存储版本16.0.1 删除了弃用的StorageMetadata.getDownloadUrl()和UploadTask.TaskSnapshot.getDownloadUrl()方法。要获取当前的下载URL,请使用StorageReference.getDownloadUr()。
UploadTask.TaskSnapshot
有一个名为getMetadata()
返回StorageMetadata
对象的方法。
该StorageMetadata
对象包含一个名为getReference()
返回StorageReference
对象的方法。
该StorageReference
对象包含该getDownloadUrl()
方法。
https://stackoverflow.com/questions/-100005397
复制相似问题