利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
2019-03-31 21:37
1451 查看
有时候我们可能需要在其他的网页上展示我们自己的小程序中某些页面的小程序码,这种时候,我们需要用到小程序的生成小程序码的相关接口。
工具选型
我们仍然选用简单方便的weixin-java-miniapp来完成此功能。
项目配置
详见我们的另一篇文章点此进入
生成小程序码的相关类型
小程序码的其他生成方式以及相关类型在这篇文章点此进入中介绍的较为详细,此处不再赘述,以下仅以生成不限制张数的这种类型来做一个示例。
生成小程序码图片
先获取小程序的service实例wxMaService。
再获取二维码相关操作的service实例
// 获取小程序服务实例 WxMaService wxMaService = WxMaConfiguration.getWxMaService(); // 获取小程序二维码生成实例 WxMaQrcodeService wxMaQrcodeService = wxMaService.getQrcodeService(); // 设置小程序二维码线条颜色为黑色 WxMaCodeLineColor lineColor = new WxMaCodeLineColor("0", "0", "0"); // 生成二维码图片字节流(此处也可以生成File类型,如果想将图片文件保存到服务器就生成File类型,此处生成byte[]类型,方便直接返回文件流到前端) byte[] qrCodeBytes = null; qrCodeBytes = wxMaQrcodeService.createWxaCodeUnlimitBytes(String.valueOf(id), null, 430, false, lineColor, false);
返回文件流
将文件流写到response中,相关示例代码如下:
@RestController @RequestMapping("/qrCode") public class QrCodeController { private static final Logger logger = LoggerFactory.getLogger(QrCodeController.class); @GetMapping("/getMiniappQrCode/{id}") public void getMiniappQrCode(@PathVariable("id") Long id, HttpServletRequest request, HttpServletResponse response) throws Exception{ // 获取小程序服务实例 WxMaService wxMaService = WxMaConfiguration.getWxMaService(); // 获取小程序二维码生成实例 WxMaQrcodeService wxMaQrcodeService = wxMaService.getQrcodeService(); // 设置小程序二维码线条颜色为黑色 WxMaCodeLineColor lineColor = new WxMaCodeLineColor("0", "0", "0"); // 生成二维码图片字节流 byte[] qrCodeBytes = null; try{ qrCodeBytes = wxMaQrcodeService.createWxaCodeUnlimitBytes(String.valueOf(id), null, 430, false, lineColor, false); } catch(Exception e){ logger.error("生成小程序码出错", e); } // 设置contentType response.setContentType("image/png"); // 写入response的输出流中 OutputStream stream = response.getOutputStream(); stream.write(qrCodeBytes); stream.flush(); stream.close(); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
相关文章推荐
- Hbuilder打包vue项目生成的App返回键直接退出应用解决方法
- 能利用myeclipse自动生成WSDL对Java类中方法的返回值是有要求的
- 利用vc 6.0目录下的cl.exe直接编译程序的方法
- Java生成验证码图片的程序
- Java 利用 HttpURLConnection 读取页面 返回字节流(生成静态页面)
- 用于 Java 程序(J2SE, JSP/Servlet) 的可直接返回连接以及定时关闭超时连接的连接池程序
- 如何将java程序直接运行(生成.jar文件)
- 激活MyEclipse 6.5方法-通过一段Java程序生成激活码
- Java图片裁剪和生成缩略图的实例方法
- ASP.NET项目中调用ZedGraph生成图片并返回路径的方法
- 在非web环境下,直接用java命令行运行程序时,对于通过getResources找不到jar包中的资源和目录的解决方法
- 如何利用iText在java程序中生成PDF文件
- java 程序实现对图片的压缩生成缩略图并可设定长宽、尺寸压缩率、图片质量
- Android Java app 程序运行入口判断方法
- 利用java技术生成验证码的多种方法及遇到问题的解决
- java 直接返回Date类型数据给前端,前端的处理方法
- c#利用zlib.net对文件进行deflate流压缩(和java程序压缩生成一样)
- Java生成验证码图片的程序
- java 生成exe程序方法总结
- 利用Java生成静态HMTL页面的方法收集