当前位置:编程学习 > JAVA >>

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

/**
  * 根据图片网络地址获取图片的byte[]类型数据
  *
  * @param urlPath
  *            图片网络地址
  * @return 图片数据
  */
 
Java代码 
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[]数据
  */
 
Java代码 
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; 
    } 

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,