WxUtil.java 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package com.happy.Unitil_nsh;
  2. import com.google.zxing.BarcodeFormat;
  3. import com.google.zxing.EncodeHintType;
  4. import com.google.zxing.MultiFormatWriter;
  5. import com.google.zxing.client.j2se.MatrixToImageWriter;
  6. import com.google.zxing.common.BitMatrix;
  7. import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
  8. import javax.servlet.ServletOutputStream;
  9. import javax.servlet.http.HttpServletResponse;
  10. import java.util.HashMap;
  11. import java.util.Map;
  12. /**
  13. * 微信公众号接口工具类
  14. * @author lujunjie
  15. * @date 2018/03/01
  16. */
  17. public class WxUtil {
  18. /**
  19. * 生成支付二维码
  20. * @param response 响应
  21. * @param contents url链接
  22. * @throws Exception
  23. */
  24. public static void writerPayImage(HttpServletResponse response, String contents) throws Exception{
  25. ServletOutputStream out = response.getOutputStream();
  26. try {
  27. Map<EncodeHintType,Object> hints = new HashMap<EncodeHintType,Object>();
  28. hints.put(EncodeHintType.CHARACTER_SET,"UTF-8");
  29. hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
  30. hints.put(EncodeHintType.MARGIN, 0);
  31. BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE,300,300,hints);
  32. MatrixToImageWriter.writeToStream(bitMatrix,"jpg",out);
  33. }catch (Exception e){
  34. throw new Exception("生成二维码失败!");
  35. }finally {
  36. if(out != null){
  37. out.flush();
  38. out.close();
  39. }
  40. }
  41. }
  42. }