如何从改装响应kotlin安卓下载图像



如何从改装响应Kotlin下载图像

我收到了类似的回复

"image_thumb": "http%3A%2F%2Fdemo.co%2Fflightrecord%2Fimages%2Fpassport%2Fthumb%2Fpassport-307199094910Koala.jpg"

如何使用FileOutputStream在设备目录中保存图像

您的解决方案

if (response.body()?.data != null) {
val result = URLDecoder.decode(response.body()?.data?.get(0)?.dof!!, StandardCharsets.UTF_8.name())
val image1 = URLDecoder.decode(response.body()?.data?.get(0)?.image_thumb!!, StandardCharsets.UTF_8.name())
var imagePath: String
Glide.with(this)
.asBitmap()
.load(image1)
.into(object : CustomTarget<Bitmap>(){
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
val fos: FileOutputStream? =
activity?.openFileOutput( response.body()?.data?.get(0)?.userid!!, AppCompatActivity.MODE_PRIVATE)
resource.compress(Bitmap.CompressFormat.JPEG, 50, fos)
fos?.close()
imagePath = activity?.applicationContext?.getFileStreamPath(response.body()?.data?.get(0)?.userid!!)?.absolutePath?.toUri()
.toString()
handler.passportInsert(
PassportModelClass(
response.body()?.data?.get(0)?.userid!!,
response.body()?.data?.get(0)?.fistname!!,
response.body()?.data?.get(0)?.surname!!,
response.body()?.data?.get(0)?.nationality!!,
result,
response.body()?.data?.get(0)?.gender!!,
imagePath,
response.body()?.data?.get(0)?.age!!.toInt()
)
)
binding.progress.isVisible = false
Toast.makeText(context, "restore successfully", Toast.LENGTH_SHORT).show()
}
override fun onLoadCleared(placeholder: Drawable?) {
}
})
}

最新更新