/** * 访问此链接 可以在页面上直接显示图片 * * @param request * @param response * @URL <img src="${ctx}/upload/showImg?downloadUrl=/member/attachment/member/2016/01/1452838617345176.png"> */ @RequestMapping(value = "/showImg") public void showImageByUrl(HttpServletRequest request, HttpServletResponse response) { // downloadUrl =/member/attachment/member/1281351564138117.PNG String downloadUrl = request.getParameter("downloadUrl"); logger.info("#showImage#下载链接downloadUrl= " + downloadUrl); // 从Local下载 service.downloadAttachFromLocal(downloadUrl, response); }1.2 server 层@Override public void downloadAttachFromLocal(String downloadUrl, HttpServletResponse response) { // 文件路径前缀 String downloadLocalPathFront = PRopertyUtil.getValue("attach.localPath.front"); OutputStream os = null; InputStream is = null; try { is = FileUtils.downloadFile(downloadLocalPathFront + downloadUrl); os = response.getOutputStream(); response.reset(); response.setContentType("image/jpeg"); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); if (is != null) { byte[] bytes = new byte[4096]; int c; while ((c = is.read(bytes)) != -1) { os.write(bytes, 0, c); } } os.flush(); } catch (IOException e) { ControllerUtil.printStackTrace(e); } finally { try { if (is != null) is.close(); } catch (IOException e) { ControllerUtil.printStackTrace(e); } try { if (os != null) os.close(); } catch (IOException e) { ControllerUtil.printStackTrace(e); } } }2, 页面 jsp 层
<div class="dow display_length" title="${attachDetail.actiNumAttachIdModel.originalFileName}"> <a href="${ctx}/upload/showImg?downloadUrl=<c:out value="${attachDetail.actiNumAttachIdModel.downloadUrl}"/><c:out value="${attachDetail.actiNumAttachIdModel.downloadFileName}"/>"> <img src="${ctx}/upload/showImg?downloadUrl=<c:out value="${attachDetail.actiNumAttachIdModel.downloadUrl}"/><c:out value="${attachDetail.actiNumAttachIdModel.downloadFileName}"/>" alt="" id="img-mwsf-14" class="photo" height="150" style="border:1px solid black;"/> </a> </div>图片显示例子:
新闻热点
疑难解答