繁体   English   中英

将图像上传到Firebase时出现问题

[英]Issues uploading images to Firebase

我正在尝试从手机的图库中将图像上传到Firebase,但是模拟器一直处于关闭状态,并且没有记录任何错误。 这是我的代码

val PICK_IMAGE_CODE=123
fun loadImage(){
    var intent = Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
    startActivityForResult(intent,PICK_IMAGE_CODE)
}

 override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if(requestCode==PICK_IMAGE_CODE  && data!=null && resultCode == RESULT_OK){

        val selectedImage=data.data
        val filePathColum= arrayOf(MediaStore.Images.Media.DATA)
        val cursor= contentResolver.query(selectedImage,filePathColum,null,null,null)
        cursor.moveToFirst()
        val coulomIndex=cursor.getColumnIndex(filePathColum[0])
        val picturePath=cursor.getString(coulomIndex)
        cursor.close()
       uploadImage(BitmapFactory.decodeFile(picturePath))
    }


}

var DownloadURL:String?=""

fun uploadImage(bitmap:Bitmap){
    adapter!!.notifyDataSetChanged()

    var currentUser = mAuth!!.currentUser

    val storage= FirebaseStorage.getInstance()
   val storgaRef=storage.reference
    val df= SimpleDateFormat("ddMMyyHHmmss")
    val dataobj= Date()
    val imagePath= currentUser!!.uid+ "."+ df.format(dataobj)+ ".jpg"
    val ImageRef=storgaRef.child("imagePost/"+imagePath )
    val baos= ByteArrayOutputStream()
    bitmap.compress(Bitmap.CompressFormat.JPEG,100,baos)
    val data= baos.toByteArray()
    val uploadTask=ImageRef.putBytes(data)
    uploadTask.addOnFailureListener{
        Toast.makeText(applicationContext,"fail to upload", Toast.LENGTH_LONG).show()
    }.addOnSuccessListener { taskSnapshot ->

        DownloadURL= taskSnapshot.downloadUrl!!.toString()
        ListTweets.removeAt(0)
        adapter!!.notifyDataSetChanged()

    }
}

如果我注释掉我对uploadImage发出的呼叫,模拟器不会崩溃,因此我认为获取picturePath的方式正在进行某些操作,但不确定。 谁能帮我吗?

我知道了,我不是在请求权限,所以我使用的picturePath始终为null

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM