android获取网络图片

来源:互联网 发布:php动态网页 编辑:程序博客网 时间:2024/04/30 01:14

工作中用到了需要获取网络二维码图片,可是网上给的方法获取后发现有时出现图片显示不全的情况,估计是因为输入流没有读完就生成了图片。

 

还是老老实实的获取图片的byte数组才能获取完整的图片。

 

代码如下:

 

 

/** * 获取指定路径,的数据。 *  * **/public static byte[] getImage2(String urlpath) {URL url;HttpURLConnection conn = null;InputStream inputStream = null ;try {url = new URL(urlpath);conn = (HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");conn.setConnectTimeout(6 * 1000);// 别超过10秒。if (conn.getResponseCode() == 200) {inputStream = conn.getInputStream();return readStream(inputStream);}} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {try {inputStream.close();} catch (IOException e) {e.printStackTrace();}conn.disconnect();}return null;}/** * 读取数据 输入流 *  * */private static byte[] readStream(InputStream inStream) throws Exception {ByteArrayOutputStream outstream = new ByteArrayOutputStream();byte[] buffer = new byte[1024];int len = -1;while ((len = inStream.read(buffer)) != -1) {outstream.write(buffer, 0, len);}outstream.close();inStream.close();return outstream.toByteArray();}