簡體   English   中英

Android中如何使用Kotlin上傳圖片到Firebase存儲 Q

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM