android 下载图片 200 null
下载图片的代码其实可以更简单,但经常会明明返回200状态,但得到的图片时null
这应该是由于图片没有一次全部加载完成的原因,经测试,用下面的代码能较好的解决这个问题
// 从网络下载图片,方法2public static Bitmap getNetBitmap2(String imageURL) {Bitmap bitmap = null;try {URL url = new URL(imageURL);// 获取到路径HttpURLConnection conn = (HttpURLConnection) url.openConnection();// http协议连接对象conn.setRequestMethod("GET");// 这里是不能乱写的,详看API方法conn.setConnectTimeout(9000);// 别超过10秒。int state = conn.getResponseCode();if (state == 200) {Comm.print("--loadNetBitmap--" + state);int length = (int) conn.getContentLength();// 获取长度InputStream is = conn.getInputStream();if (length != -1) {byte[] imgData = new byte[length];byte[] temp = new byte[512];int readLen = 0;int destPos = 0;while ((readLen = is.read(temp)) > 0) {System.arraycopy(temp, 0, imgData, destPos, readLen);destPos += readLen;}bitmap = BitmapFactory.decodeByteArray(imgData, 0,imgData.length);}}} catch (Exception e) {Comm.print("--loadNetBitmap--e--" + e.toString());}return bitmap;}