面上直接显示图片

1,后台java 

1.1 Control 层

 /**
     * 访问此链接 可以在页面上直接显示图片
     *
     * @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>


图片显示例子:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值