我正在制作一个用户在Firebase存储上上传图片的应用程序。上传图片后,我想将图片的网址和其他详细信息上传到我自己的API中。我怎样才能得到用户刚刚上传的图像的Uri。 This教程教导如何做上传,但不显示如何获取图像URL。我尝试了所有的教程,但没有显示我想要的东西。如何在将图像上传到Firebase后获取图像URL?
-1
A
回答
2
根据the documentation,您可以拨打.getDownloadUrl
中的.onSuccessListener
来获取图片网址。
下面是从文档的例子:
// Get the data from an ImageView as bytes
imageView.setDrawingCacheEnabled(true);
imageView.buildDrawingCache();
Bitmap bitmap = imageView.getDrawingCache();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
byte[] data = baos.toByteArray();
UploadTask uploadTask = mountainsRef.putBytes(data);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
// Handle unsuccessful uploads
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
Uri downloadUrl = taskSnapshot.getDownloadUrl();
}
});
0
您将获得的回调的onSuccess的下载网址。检查以下代码
public static void storeInFirebase(Context context, Uri uri, String type) {
StorageReference riversRef = null;
mStorageRef = FirebaseStorage.getInstance().getReference();
//to create a separate folder with all the pictures uploaded
riversRef = mStorageRef.child("pictures/" + "unique_value");
UploadTask uploadTask = riversRef.putFile(uri);
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception exception) {
DialogUtils.dismissProgressDialog();
// Handle unsuccessful uploads
}
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
downloadUrl = taskSnapshot.getDownloadUrl();
Log.d("downloadUrl", "" + downloadUrl);
}
});
}
相关问题
- 1. 在将图像上传到Firebase存储之前压缩图像
- 2. 我如何将fileReader之后的图像上传到firebase存储
- 3. 如何使用图像URL将图像上传到AWS S3?
- 4. 使用Angular.js将图像上传到Firebase
- 5. 传递图像获取匹配图像的URL列表,如何?
- 6. Android Firebase多图像上传
- 7. 获取上传到图像视图的图像并发送它
- 8. 从Ruby中的图像url将图像上传到AWS?
- 9. 无法将捕获的图像上传到firebase存储
- 10. 上传单个图像到firebase存储
- 11. 如何在UIImagepickercontroller中获取URL图像
- 12. 将图像上传到图像后全部显示
- 13. 如何将图像上传到Dropbox?
- 14. 如何将图像上传到jqgrid列
- 15. 如何将图像上传到RStudio Notebook?
- 16. 将新映像上传到Firebase存储后刷新缓存的图像
- 17. 如果图像不是图像,会获取图像的URL?
- 18. Firebase在成功将图片上传到Firebase存储后获取下载网址
- 19. 将图像上传到Dropbox
- 20. 将图像上传到localStorage
- 21. 将图像上传到S3
- 22. 将图像上传到Twitter
- 23. 将图像上传到Azure
- 24. 如何在裁剪后上传图像?
- 25. 如何在网页上将图像上传到最先出现的图像上?
- 26. 如何在将文件上传到Firebase后获取文件的URL?
- 27. iphone - 将图像上传到flickr像Hipstamatic
- 28. Highchart:导出后获取图像URL
- 29. Webservice上传的图像url
- 30. 上传图像通过URL
谢谢仁。 Firebase存储是否适用于上传应用程序的图像,该应用程序每天会在性能和可用性方面使用该Url上传20-50个图像和1000-5000个图像? –
Firebase是该场景的可行解决方案。请记住,这样的数量可能会超过免费级别。点击此处了解更多关于定价的信息:https://firebase.google.com/pricing/ 如果我的回答有帮助,请接受它。谢谢! –
另外仁,如果我有一个谷歌高级帐户,那么随着音量的增加,我可以免费使用Firebase服务吗? –