使用url下载图像并保存到内部存储器中

问题描述 投票:0回答:1

我尝试了不同的方法。但是我仍然无法将图像保存到指定位置。我不知道出什么问题了。需要一些建议。未创建路径,并且未保存图像。

class DownloadAndSaveImage(context: Context) : AsyncTask<String, Unit, Unit>() {


    private var mContext: WeakReference<Context> = WeakReference(context)
    override fun doInBackground(vararg params: String?) {
        val url = params[0]
        val requestOptions = RequestOptions().override(100)
            .downsample(DownsampleStrategy.CENTER_INSIDE)
            .skipMemoryCache(true)
            .diskCacheStrategy(DiskCacheStrategy.NONE)

        mContext.get()?.let {
            val bitmap = Glide.with(it)
                .asBitmap()
                .load(url)
                .apply(requestOptions)
                .submit()
                .get()

            try {
                val path = File(Environment.DIRECTORY_DCIM)
                val dir =path.absolutePath
                val file=File(dir+"/EAcademy","schoolImage.jpg")
                if (!file.exists()) {
                    file.mkdir()
                }
                val out = FileOutputStream(file)
                bitmap.compress(Bitmap.CompressFormat.JPEG, 85, out)
                out.flush()
                out.close()
                Log.i("Tribhuwan", "Saved Image")
            } catch (e: Exception) {
                Log.i("Tribhuwan", "Failed to save")
            }
        }
    }


}
android kotlin
1个回答
1
投票
val path = File(Environment.DIRECTORY_DCIM) val dir =path.absolutePath val folder=File(dir+"/EAcademy") if(!folder.exists()){ folder.mkdirs() } val file = File(folder, "schoolImage.jpg")
© www.soinside.com 2019 - 2024. All rights reserved.