根据图片网络地址获取图片的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;
}
暂无评论
  • 1:请一针见血的评论。
  • 2:评论需要审核通过后才能显示。
  • 3:评论字数限制在1000字以内。
  • 当前字数:0
热门文章
推荐文章
随机文章
关于本站 - 广告服务 - 版权声明 - 联系我们 - 友情链接 - 网站地图 - 帮助中心