二维码生成

网上找到的二维码大致分为几类:
第一类:微信,微博等开放平台提供的二维码生成。二维码生成有限制,在业务需要大量二维码生成时,不能提供很好的支持。
第二类:免费API。虽然免费,但是都是在线生成,不提供后台API调用做批量处理;或者要批量需要收费;或者链接使用指定链接,由提供商后台做链接跳转。
第三类:开源产品,自己调用API生成二维码图片。
在这里,我们选择第三类,将二维码生成处理成一个内部dubbo服务然后提供出来。
 
具体思路如下:
业务提供原始URL,然后经由百度短链服务转换为短链,再基于此短链生成二维码。用短链服务的目的是,可以压缩业务原始URL,降低生成二维码复杂度,提升二维码辨识率。
 
具体代码如下:
基于gradle的依赖:
compile 'com.google.zxing:core:3.2.0'
compile 'com.google.zxing:javase:3.2.0'
 
JAVA代码如下:
try {
    //生成QRcode
    BitMatrix matrix = new MultiFormatWriter().encode(shortChain, BarcodeFormat.QR_CODE, 500, 500);
    MatrixToImageWriter.writeToPath(matrix, “PNG”, Paths.get(outFileString));

    //上传七牛,返回URL
    String fileName = UUID.randomUUID().toString()+".png";
    File outImage = Paths.get(outFileString).toFile();

    qrCode.setImageUrl(FileUploadUtils.saveFileInQiNiu(fileName, outImage).getUrl());

    outImage.delete();
} catch (Exception e) {
    e.printStackTrace();
}
 
 
 
 
 
 

转载于:https://www.cnblogs.com/asfeixue/p/4452777.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值