您的位置:首页 > 理论基础 > 计算机网络

Http协议获取图片数据流(GET方式)

2017-06-25 18:59 441 查看
String filePath = "http://127.0.0.1/doc/pic.jpg";

byte[] byteArray;
HttpURLConnection connection = null;
if(StringUtils.isEmptyString(filePath)){
return;
}
try {
URL url = new URL(filePath);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5*1000);
InputStream in = connection.getInputStream();
try {
byteArray = readInputStream(in);
} catch (Exception e) {
log.error("error:"+e.getStackTrace());
throw new Exception("图片转换BYTE流失败!");
}

} catch (IOException e2) {
if(log.isErrorEnabled()){
log.error("error:"+e2.getStackTrace()
+"getMessage:"+e2.getMessage());
}
throw new Exception("获取照片信息失败!");
}

//获取照片数据流
if(byteArray != null){
datamodel.setModelChangeImageObject("Picture",byteArray);
}
connection.disconnect();
}

private static byte[] readInputStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024]; //创建一个Buffer字符串
//每次读取的字符串长度,如果为-1,代表全部读取完毕
int len = 0;
//使用一个输入流从buffer里把数据读取出来
while( (len=inStream.read(buffer)) != -1 ){
//用输出流往buffer里写入数据,中间参数代表从哪个位置开始读,len代表读取的长度
outStream.write(buffer, 0, len);
}
inStream.close();   //关闭输入流
return outStream.toByteArray();  //把outStream里的数据写入内存
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐