java生成二维码-微信支付、支付宝支付链接转二维码解决方案

1、后台返回链接利用js生成二维码供客户使用

需要js文件:qrcode.min.js

下载地址:http://static.runoob.com/assets/qrcode/qrcode.min.js

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ko" lang="ko">
<head>
<title>Javascript 二维码生成库:QRCode</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no" />
<script type="text/javascript" src="http://cdn.staticfile.org/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="http://static.runoob.com/assets/qrcode/qrcode.min.js"></script>
</head>
<body>
<input id="text" type="text" value="http://www.runoob.com" style="width:80%" /><br />
<div id="qrcode" style="width:100px; height:100px; margin-top:15px;"></div>

<script type="text/javascript">
var qrcode = new QRCode(document.getElementById("qrcode"), {
    width : 100,
    height : 100
});

function makeCode () {        
    var elText = document.getElementById("text");
    
    if (!elText.value) {
        alert("Input a text");
        elText.focus();
        return;
    }
    
    qrcode.makeCode("https://www.baidu.com/");
}

makeCode();

$("#text").
    on("blur", function () {
        makeCode();
    }).
    on("keydown", function (e) {
        if (e.keyCode == 13) {
            makeCode();
        }
    });
</script>
</body>
</html>

2、后台java直接生成二维码返回图片供前端显示使用

需要使用谷歌提供的jar包

pom依赖

		<dependency>
			<groupId>com.google.zxing</groupId>
			<artifactId>javase</artifactId>
			<version>3.3.3</version>
		</dependency>

生成二维码代码如下

	/**
	 * 生成支付二维码
	 * @param response 响应
	 * @param contents url链接
	 * @throws Exception
	 */
	public static void writerPayImage(HttpServletResponse response, String contents) throws Exception{
		ServletOutputStream out = response.getOutputStream();
		try {
			Map<EncodeHintType,Object> hints = new HashMap<EncodeHintType,Object>();
			hints.put(EncodeHintType.CHARACTER_SET,"UTF-8");
			hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
			hints.put(EncodeHintType.MARGIN, 0);
			BitMatrix bitMatrix = new MultiFormatWriter().encode(contents, BarcodeFormat.QR_CODE,300,300,hints);
			MatrixToImageWriter.writeToStream(bitMatrix,"jpg",out);
		}catch (Exception e){
			throw new Exception("生成二维码失败!");
		}finally {
			if(out != null){
				out.flush();
				out.close();
			}
		}
	}

源码链接如下:

https://gitee.com/zhoujx076/com.juno.weixin/tree/master/

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值