This question already has answers here:
How to get URL from Firebase Storage getDownloadURL
(10个回答)
2年前关闭。
我正在使用Android Studio并使用Firebase Storage,可以上传所需的图像,但无法获取下载网址。
我用这个:
和这个:
结果是一样的
它向我展示了这样的东西:
我的上传代码:
FirebaseStorage存储;
StorageReference storageReference;
storage = FirebaseStorage.getInstance();
storageReference = storage.getReference();
最终的StorageReference文件路径= storageReference.child(“ images”)。child(“ test.jpg”);
有人可以帮忙吗?!
谢谢
(10个回答)
2年前关闭。
我正在使用Android Studio并使用Firebase Storage,可以上传所需的图像,但无法获取下载网址。
我用这个:
askSnapshot.getMetadata().getReference().getDownloadUrl().toString();
和这个:
filepath.getDownloadUrl().toString();
结果是一样的
它向我展示了这样的东西:
com.google.android.gms.tasks.zzu@f7d5815
我的上传代码:
FirebaseStorage存储;
StorageReference storageReference;
storage = 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());
}
});
有人可以帮忙吗?!
谢谢
最佳答案
为了解决这个问题,我建议在上传任何文件后,将下载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
}
});
10-04 19:07