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


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里的数据写入内存
}
智能推荐

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
© 2014-2019 ITdaan.com 粤ICP备14056181号  

赞助商广告