[英]How to upload an Image to Firebase Storage using Kotlin in Android Q
我試過舊方法
var bitmap =MediaStore.Images.Media.getBitmap() 現在已被刪除,我瀏覽了 web 並沒有找到令人滿意的方法。請任何建議將圖像上傳到 Firebase 存儲的方法。
Select 圖片來自這樣有趣的畫廊:
private fun selectImageFromGallery() {
val intent = Intent()
intent.type = "image/*"
intent.action = Intent.ACTION_GET_CONTENT
startActivityForResult(
Intent.createChooser(
intent,
"Please select..."
),
GALLERY_REQUEST_CODE
)
}
onActivityResult 像這樣:
override fun onActivityResult(
requestCode: Int,
resultCode: Int,
data: Intent?
) {
super.onActivityResult(
requestCode,
resultCode,
data
)
if (requestCode == GALLERY_REQUEST_CODE
&& resultCode == Activity.RESULT_OK
&& data != null
&& data.data != null
) {
// Get the Uri of data
val file_uri = data.data
uploadImageToFirebase(file_uri)
}
}
上傳圖片:
private fun uploadImageToFirebase(fileUri: Uri) {
if (fileUri != null) {
val fileName = UUID.randomUUID().toString() +".jpg"
val database = FirebaseDatabase.getInstance()
val refStorage = FirebaseStorage.getInstance().reference.child("images/$fileName")
refStorage.putFile(fileUri)
.addOnSuccessListener(
OnSuccessListener<UploadTask.TaskSnapshot> { taskSnapshot ->
taskSnapshot.storage.downloadUrl.addOnSuccessListener {
val imageUrl = it.toString()
}
})
?.addOnFailureListener(OnFailureListener { e ->
print(e.message)
})
}
}
如您所見,您不需要任何位圖
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.