代码语言:javascript复制
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里的数据写入内存
}