我正在使用 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(); Final StorageReference filepath = 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());
}
});
有谁可以帮忙吗?!! 谢谢
最佳答案
为了解决这个问题,我建议在上传任何文件时,将下载 URL 存储到数据库中,例如 Firebase Realtime Database或新的Cloud Firestore以便以后可以使用。
请参阅下面获取下载 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
}
});
关于java - android studio_firebase_存储_获取下载网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51543189/