HTML 标签
<img class="weui-uploader__file" style="background-image: url('+ window.location.protocol + "//" + window.location.host +"/utils/fileStream?imgUrl=" + encodeURIComponent(imgList[j]) +')" ></img>
JAVA Controller
/**
* 根据图片地址获取图片文件流
*
* @param request
* @param response
* @param imgUrl
*/
@RequestMapping(value = "/fileStream")
@ResponseBody
public void fileStream(HttpServletRequest request, HttpServletResponse response, String imgUrl) {
try {
InputStream is = getInputStream(kehuApiConfig.getKehuApiUrlByImage() + URLEncoder.encode(imgUrl, "utf-8"));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OutputStream os = response.getOutputStream();
int ch = 0;
while (-1 != (ch = is.read())) {
baos.write(ch);
}
os.write(baos.toByteArray());
is.close();
baos.close();
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 请求别人的图片url地址,获得文件流
*
* @param imgUrl
* @return
*/
public static InputStream getInputStream(String imgUrl) {
InputStream inputStream = null;
HttpURLConnection httpURLConnection = null;
try {
URL url = new URL(imgUrl);
httpURLConnection = (HttpURLConnection)url.openConnection();
// 设置网络连接超时时间
httpURLConnection.setConnectTimeout(3000);
// 设置应用程序要从网络连接读取数据
httpURLConnection.setDoInput(true);
httpURLConnection.setRequestMethod("GET");
int responseCode = httpURLConnection.getResponseCode();
if (responseCode == 200) {
// 从服务器返回一个输入流
inputStream = httpURLConnection.getInputStream();
}
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return inputStream;
}
参考两个帖子
1:https://blog.csdn.net/neu_yousei/article/details/22413855
2:https://www.cnblogs.com/lazyli/p/11739245.html