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

来源:互联网 发布:极米z4x无限连 mac 编辑:程序博客网 时间:2024/05/21 10:06
  /**

* 根据图片网络地址获取图片的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;}