首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用jsp向浏览器显示动态生成的图像

使用jsp向浏览器显示动态生成的图像
EN

Stack Overflow用户
提问于 2017-02-20 04:37:38
回答 1查看 1.4K关注 0票数 2

我正在做一个使用jsp/servlets.In的图像的小项目。在这个项目中,我动态生成一些图像(实际上我将解密两个图像共享为一个).That解密的图像必须直接显示给浏览器,而不是将其保存为文件系统中的文件。

代码语言:javascript
复制
Crypting c=new Crypting();
BufferedImage imgKey;
BufferedImage imgEnc;
imgKey = ImageIO.read(new File("E:/Netbeans Projects/banking/web/Key.png"));
imgEnc=ImageIO.read(new File("E:/Netbeans Projects/banking/build/web/upload/E.png"));
BufferedImage imgDec=Crypting.decryptImage(imgKey,imgEnc);

当我将它存储在文件系统中并使用<img>显示它时,它没有显示重新加载的image.When,而是显示了image.So,这与集成开发环境的后端工作有关。有什么需要帮助的请...

EN

回答 1

Stack Overflow用户

发布于 2018-07-03 03:10:26

  1. 创建一个servlet来生成图像。
  2. 使用带有src属性的html img标记作为通用资源的路径。

在spring boot中的示例(二维码)。Servlet

代码语言:javascript
复制
public class QRCodeServlet extends HttpServlet {
@Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  String url = req.getParameter("url");
  String format =  req.getParameter("format");
  QRCodeFormat formatParam = StringUtils.isNotEmpty(format) && format.equalsIgnoreCase("PDF") ?
    QRCodeFormat.PDF : QRCodeFormat.JPG;

  if(formatParam.equals(QRCodeFormat.PDF))
    resp.setContentType("application/pdf");
  else
    resp.setContentType("image/jpeg");

  if(StringUtils.isNotBlank(url)) {
    ByteArrayOutputStream stream = QRCodeService.getQRCodeFromUrl(url, formatParam);
    stream.writeTo(resp.getOutputStream());
  }
 }
}

配置:

代码语言:javascript
复制
@Configuration
public class WebMvcConfig {
  @Bean
  public ServletRegistrationBean qrCodeServletRegistrationBean(){
    ServletRegistrationBean qrCodeBean =
    new ServletRegistrationBean(new QRCodeServlet(), "/qrcode");
    qrCodeBean.setLoadOnStartup(1);
    return qrCodeBean;
  }
}

控制器:

代码语言:javascript
复制
String qrcodeServletPrefix = "http://localhost:8082/qrcode?url="

String encodedUrl = URLEncoder.encode("http://exmaple.com?param1=value1&param2=value2",  "UTF-8");
modelAndView.addObject("qrcodepage", qrcodeServletPrefix + encodedUrl);
modelAndView.setViewName("view");

view.jsp

代码语言:javascript
复制
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<img src="<c:url value='${qrcodepage}'/>" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42332603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档