java - 如何将我刚刚生成的QRCode图像文件保存到服务器?

标签 java html servlets qr-code outputstream

public class QRCodeServlet extends HttpServlet {

    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            String qrtext = request.getParameter("qrtext");
            ByteArrayOutputStream out = QRCode.from(qrtext).to(ImageType.PNG).stream();

            response.setContentType("image/png");
            response.setContentLength(out.size());

            OutputStream outStream = response.getOutputStream();        
            outStream.write(out.toByteArray());
            outStream.flush();
            outStream.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>
}

这是我用来生成 QRCode 的代码。我使用outputStream将QRCode显示到浏览器。但是如何将该 QRCode 保存为服务器上的图像文件并使用标签将其显示在另一个 html 文件中? 我在这里使用 iText 库生成 QrCode。

最佳答案

如果保存是可选的,但需要在HTML文件(实际上是JSP)中显示...接下来怎么办?

如果请求中有参数txt:

<% var txt = request.getParameter("txt"); %>
<img src="/context/servletMapping?qrtext=<%=java.net.URLEncoder(txt, "UTF-8")%>">

对于 JSTL,请参阅 How to URL-encode a String with JSTL?

关于java - 如何将我刚刚生成的QRCode图像文件保存到服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17430982/

相关文章:

javascript - 使用带有 AngularJs 数据绑定(bind)的三元运算符显示图像

java - 如何使用异步线程调整/分析线程池配置?

java - 登录后创建新 session

java - Java中的函数回调也是匿名类吗?

jquery - 相对定位的元素不会在 IE 7 中使用 jQuery hide() 隐藏

java - 如何从 Spring MVC\Boot Controller 方法正确检索记录的用户信息?

javascript - CSS 文本装饰 : reverse

java - 在网络服务器上运行geotools?

java - 是否有 Java 代码约定的更新版本

java - Android:在适配器上显示dialogFrag会出现NullPointerException