昨晚使用android-async-http库进行图片下载的时候提示了如上错误,Content-Type不被允许。此时我们可以打印出来http请求的一些信息,看一下所需要的Content-Type的类型。如下,在onFailure方法里面打印日志:
HttpUtils.getInstance().getImgFromUrl(Constant.BeforeSendMsgVerfityImg, new BinaryHttpResponseHandler(allowedContentTypes) {
@Override
public void onSuccess(int arg0, Header[] arg1, byte[] arg2) {
Bitmap bmp = BitmapFactory.decodeByteArray(arg2, 0, arg2.length);
ivCodeImg.setImageBitmap(bmp);
}
@Override
public void onFailure(int arg0, Header[] arg1, byte[] arg2, Throwable arg3) {
// TODO Auto-generated method stub
Log.e("yy:", "onFailure: " + arg3);
for (Header header : arg1){
Log.i("yy", header.getName()+" / "+header.getValue()); //这里是打印的http信息
}
}
});日志如下;
红框内即是我们所需要添加的类型,请求图片时作如下处理:
String[] allowedContentTypes = new String[] { "image/jpeg;charset=UTF-8" }; //我这里只限定了一种图片格式
即可正确下载图片。
文章详细介绍了在使用Android-Async-HTTP库进行图片下载时遇到Content-Type不被允许的错误,并提供了通过打印HTTP请求信息来定位问题的方法。最终通过限定允许的Content-Type类型成功解决了图片下载问题。

被折叠的 条评论
为什么被折叠?



