E / BitmapFactory: невозможно декодировать поток: java .io.FileNotFoundException (нет такого файла или каталога) - PullRequest
0 голосов
/ 19 марта 2020

Я хочу декодировать фотографию, которую я взял из галереи, но в ней есть ошибка. Я пробовал разные методы, но ни один из них не был успешным. Пожалуйста, помогите исправить мой код.

Это мой код: https://pastebin.com/syWjqPDK

class TambahDataActivity : AppCompatActivity() {

private val GALLERY_REQUEST_CODE = 101

private var encoded_string: String? = null
private var image_name: String? = null
private var file: File? = null
private var file_uri: Uri? = null
private var bitmap: Bitmap? = null

private val STORAGE_PERMISSION_CODE = 1

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_tambah_data)
    btn_tambah_foto.setOnClickListener {
        if (ContextCompat.checkSelfPermission(applicationContext,
            Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED){
            val intent = Intent(Intent.ACTION_PICK)
            intent.type = "image/*"
            intent.putExtra(MediaStore.EXTRA_OUTPUT, file_uri)
            startActivityForResult(intent, GALLERY_REQUEST_CODE)
        } else {
            ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), STORAGE_PERMISSION_CODE)
        }
    }
}

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (resultCode == Activity.RESULT_OK) when (requestCode) {
        GALLERY_REQUEST_CODE -> {
            //data.getData returns the content URI for the selected Image
            file_uri = data?.data!!
            val fileee: String = data.data?.lastPathSegment!!
            val filename: String = fileee.substring(fileee.lastIndexOf("/") + 1)
            img_adu.setImageURI(file_uri)
            img_adu.visibility = View.VISIBLE

            file = File(
                Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES)
                    .toString() + File.separator + filename
            )
            file_uri = Uri.fromFile(file)
            bitmap = BitmapFactory.decodeFile(file_uri!!.path)
            val stream = ByteArrayOutputStream()
                bitmap?.compress(Bitmap.CompressFormat.JPEG, 100, stream)
                bitmap?.recycle()
                val array = stream.toByteArray()
                encoded_string = Base64.encodeToString(array, 0)

        }
    }
}

}

Это результат logcat

2020-03-19 14:03:10.735 10607-10607/tgs.app.pengaduan E/fileUrii: /storage/emulated/0/Pictures/IMG_20200319_100639.jpg
2020-03-19 14:03:10.736 10607-10607/tgs.app.pengaduan E/BitmapFactory: Unable to decode stream: java.io.FileNotFoundException: /storage/emulated/0/Pictures/IMG_20200319_100639.jpg (No such file or directory)```

1 Ответ

1 голос
/ 19 марта 2020

Выберите изображение из галереи:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...