1. 程式人生 > >頁面從後臺介面獲取資料流顯示照片

頁面從後臺介面獲取資料流顯示照片

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();  
	    }
	    
	}