java访问联图接口

本文介绍了一个用于生成二维码的联图接口URL构造方法,通过拼接文本、Logo地址和尺寸等参数,实现定制化的二维码生成。此外,还展示了如何使用Spring框架的RestController注解,配合RestTemplate发送GET请求获取二维码图片,并将其作为响应返回给浏览器。

构造联图接口url


	private String getQRCodeUrl(String text, String logoUrl, int size) {
		StringBuilder sb = new StringBuilder("http://qr.liantu.com/api.php?text=");
		sb.append(text);
		sb.append("&logo=").append(logoUrl);// logo
		sb.append("&w=").append(size);// 尺寸
//		sb.append("&bg=").append(""); // 背景颜色,             格式 :颜色代码            如fffaf0
//		sb.append("&fg=").append("");// 前景颜色,即条纹颜色   同上
//		sb.append("&gc=").append("");// 渐变颜色,  同上
//		sb.append("&pg=").append("");// 定位点颜色(外框)  同上
//		sb.append("&inpt=").append("");// 定位点颜色(内点)  同上
//		sb.append("&el=").append("");// 纠错等级, 可用值:h\q\m\l  格式 : 单个字符         如 h
//		sb.append("&m=").append("");// 外边距尺寸
		return sb.toString();
	}

使用resttemplate请求图片并发送给浏览器


	@RequestMapping("/downloadQRCode")
	@ControllerLogExeTime(description="下载二维码", log=false)
	public void downloadQRCode(HttpServletResponse response) throws IOException {
		RestTemplate restTemplate = new RestTemplate();
		logger.info("调用生成站点二维码功能, url: {}", QRCODE_PREFIX);
		String url = getQRCodeUrl(QRCODE_PREFIX, QRCODE_LOGOURL, QRCODE_SIZE);
		ResponseEntity<byte[]> resp = restTemplate.getForEntity(url, byte[].class);
		response.setContentType("image/png;charset=UTF-8");
		response.addHeader("Content-Disposition", "attachment;filename=qrcode.png");
		OutputStream out = response.getOutputStream();
		out.write(resp.getBody());
		out.flush();
		out.close();
	}

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值