是否可以使用Firebase存储参考获取下载uri?
不同的问题上述问题是通过上传图片获取图片网址。
我想尝试通过提供存储中的图像引用来获取图像下载URI的方法。
我尝试了一些事情:
storageReference.child("images/download.jpg").downloadUrl.addOnSuccessListener { uri ->
if (uri != null){
Log.e("url", uri.toString())
}
}
图片:
它显示错误(我知道不存在类似的东西):
E / StorageException:{“错误”:{“代码”:404,“消息”:“不 找到了。无法获取对象”,“状态”:“ GET_OBJECT”}} java.io.IOException:{“错误”:{“代码”:404,“消息”:“未找到。无法获取对象”,“状态”:“ GET_OBJECT”}} com.google.firebase.storage.network.NetworkRequest.parseResponse(com.google.firebase:firebase-storage @@ 17.0.0:455) com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(com.google.firebase:firebase-storage @@ 17.0.0:435) 在com.google.firebase.storage.network.NetworkRequest.processResponseStream(com.google.firebase:firebase-storage @@ 17.0.0:426) com.google.firebase.storage.network.NetworkRequest.performRequest(com.google.firebase:firebase-storage @@ 17.0.0:280) com.google.firebase.storage.network.NetworkRequest.performRequest(com.google.firebase:firebase-storage @@ 17.0.0:294) 在com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(com.google.firebase:firebase-storage @@ 17.0.0:70) 在com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(com.google.firebase:firebase-storage @@ 17.0.0:62) com.google.firebase.storage.GetDownloadUrlTask.run(com.google.firebase:firebase-storage @@ 17.0.0:74) 在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:641) 在java.lang.Thread.run(Thread.java:764)
我只是在寻找显示图像,而不使用glide
库。所以我正在寻找图像uri以显示图像。
答案 0 :(得分:2)
尝试一下:
StorageReference storageReference = FirebaseStorage.getInstance().getReferenceFromUrl("storage ref url in string");
storageReference.getDownloadUrl().addOnSuccessListener(new OnSuccessListener<Uri>() {
@Override
public void onSuccess(Uri uri) {
//do your stuff- uri.toString() will give you download URL\\
}
});
或直接使用StorageReference进行初始化。