java如何将我刚刚生成的QRCode图像文件保存到服务器?
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
# 1 楼答案
保存
ByteArrayOutputStream
图像的代码示例# 2 楼答案
如果保存是可选的,但HTML文件(实际上是JSP)中需要显示。。。下一个呢
如果请求中有参数
txt
:关于JSTL,请参见How to URL-encode a String with JSTL?