为什么不能将网络请求返回的图像直接保存到文件中?

时间:2019-08-21 04:21:25

标签: java android bitmap

我使用okhttp下载png图片,然后直接将其写入名为****。png的文件中,而没有首先将其解码为位图。但是我无法打开该文件,所以我可以不会显示我保存的图片。
那么,这是怎么回事?响应主体中还有其他内容吗?

response=client.newCall(request).execute();
in=response.body().byteStream();
out=new FileOutputStream(file);
byte[] bytes=new byte[1024];
while (in.read(bytes)!=-1){
    out.write(bytes);
}

错误信息:png错误,自适应滤波器值错误

但是,如果我将其解码为位图,然后将其压缩为文件,则可以正常工作。图片可以打开。

response=client.newCall(request).execute();
out=new FileOutputStream(file);
Bitmap bitmap=BitmapFactory.decodeStream(response.body().byteStream());
bitmap.compress(Bitmap.CompressFormat.PNG,100,out);

0 个答案:

没有答案