頁面從後臺介面獲取資料流顯示照片
阿新 • • 發佈:2019-01-31
JSP頁面:
頁面上接收資料流可以用<a>標籤的“href”屬性接收,也可以用<img>標籤的“src”屬性接收。
<a href="${ctx}/identify/img?imgId=${identify.img}" target="_blank">檢視詳情</a> (target="_blank",在新的標籤頁中開啟)
介面:
@RequestMapping("img") public void getImg(HttpServletRequest request, HttpServletResponse response) throws Exception{ //照片儲存在網盤中,獲取頁面傳來的照片ID String id = request.getParameter("imgId"); //配置檔案取url和身份驗證token String url = ConfigReader.getProperty("CLOUDDISK_DOWNLOAD_URL"); String token = ConfigReader.getProperty("CLOUDDISK_AUTHCODE"); String param = "authCode=" + token + "&id=" + id; //從網盤下載照片的流 InputStream in = getImgStream(url,param,"GET"); //宣告輸出流,但是要從HttpServletResponse中獲取才管用 BufferedOutputStream bout = new BufferedOutputStream(response.getOutputStream()); //從輸入流到輸出流 try { byte b[] = new byte[1024]; int len = in.read(b); while (len > 0) { bout.write(b, 0, len); len = in.read(b); } } catch (Exception e) { throw e; } finally { bout.close(); in.close(); } }