1.java代碼:
1 /** 2 * 打印模板獲取電子簽名 3 * @param request 4 * @param resp 5 * @param id 6 * @return 7 * @throws Exception 8 */ 9 @RequestMapping(value = "jzgx/getImage", method = RequestMethod.GET) 10 public void getImage(HttpServletRequest request, HttpServletResponse response,String id){ 11 String sql = "SELECT SIGNATURE FROM RDP_PSIGNATURE P WHERE P.USER_ID = '"+id+"'"; 12 OutputStream os = null; 13 try { 14 RecordSet rs = OperDbUtil.getRecordSet(sql); 15 os = response.getOutputStream(); 16 //設定輸出文件頭 17 response.setHeader("Content-disposition", "attachment;filename=" + URLEncoder.encode(id,"UTF-8")); 18 //設置響應頭 19 response.setContentType("image/"+id+";charset=utf-8"); 20 if(rs.next()){ 21 byte[] buf = rs.getBlob(1); 22 if(buf == null) return; 23 //清空輸出流 24 response.reset(); 25 os.write(buf); 26 } 27 } catch (Exception e) { 28 e.printStackTrace(); 29 } 30 //釋放資源 31 finally{ 32 try { 33 os.close(); 34 } catch (IOException e) { 35 e.printStackTrace(); 36 } 37 } 38 }
OperDbUtil是一個我們公司自己寫的工具類,沒有可以用
1 Connection conn = DBManager.getConnection();3 PreparedStatement ps = null; 4 ResultSet rs = null; 5 InputStream is = null; 6 OutputStream os = null; 7 ps = conn.prepareStatement(sql); 8 rs = ps.executeQuery();
來執行sql語句。
2.jsp頁面:
1 <% 2 String path = request.getContextPath(); 3 String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 4 %> 5 ... 6 ... 7 ... 8 <td><img src="<%=basePath%>jzgx/getImage.sd?id=${user1.id}" /></td>
跟網上大多數的不一樣,僅供參考。
