根据图片网络地址获取图片的byte[]类型数据

       /**

* 根据图片网络地址获取图片的byte[]类型数据

* @param urlPath

*            图片网络地址

* @return 图片数据

*/

 

public static byte[] getImageFromURL(String urlPath) {
		byte[] data = null;
		InputStream is = null;
		HttpURLConnection conn = null;
		try {
			URL url = new URL(urlPath);
			conn = (HttpURLConnection) url.openConnection();
			conn.setDoInput(true);
			// conn.setDoOutput(true);
			conn.setRequestMethod("GET");
			conn.setConnectTimeout(6000);
			is = conn.getInputStream();
			if (conn.getResponseCode() == 200) {
				data = readInputStream(is);
			} else{
				data=null;
			}
		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				if(is != null){
					is.close();
				}				
			} catch (IOException e) {
				e.printStackTrace();
			}
			conn.disconnect();			
		}
		return data;
	}

 

 

     /**

* 读取InputStream数据,转为byte[]数据类型

* @param is

*            InputStream数据

* @return 返回byte[]数据

*/

 

public static byte[] readInputStream(InputStream is) {
		ByteArrayOutputStream baos = new ByteArrayOutputStream();
		byte[] buffer = new byte[1024];
		int length = -1;
		try {
			while ((length = is.read(buffer)) != -1) {
				baos.write(buffer, 0, length);
			}
			baos.flush();
		} catch (IOException e) {
			e.printStackTrace();
		}
		byte[] data = baos.toByteArray();
		try {
			is.close();
			baos.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
		return data;
	}
 

你可能感兴趣的:(android,获取网络图片,byte[]数据类型)