From 25c8b9a4f52718e8909cee652d58fd6cfd2f4cc3 Mon Sep 17 00:00:00 2001 From: zhibing.pu <393733352@qq.com> Date: 星期一, 26 八月 2024 17:09:50 +0800 Subject: [PATCH] 完善二维码下载功能 --- ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java | 26 +++++++++++++++++++++++++- 1 files changed, 25 insertions(+), 1 deletions(-) diff --git a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java index 334d16f..cc6f241 100644 --- a/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java +++ b/ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java @@ -1,6 +1,7 @@ package com.ruoyi.chargingPile.controller; +import cn.hutool.core.io.FileUtil; import com.ruoyi.chargingPile.api.dto.TChargingGunDTO; import com.ruoyi.chargingPile.api.model.TChargingGun; import com.ruoyi.chargingPile.api.model.TChargingPile; @@ -8,6 +9,7 @@ import com.ruoyi.chargingPile.api.vo.TChargingGunVO; import com.ruoyi.chargingPile.service.TChargingGunService; import com.ruoyi.chargingPile.service.TChargingPileService; +import com.ruoyi.chargingPile.util.QRCodeUtils; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.domain.BaseDelete; @@ -22,6 +24,9 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; +import java.io.FileInputStream; +import java.io.PrintWriter; +import java.net.URLEncoder; import java.util.Arrays; import java.util.List; @@ -125,7 +130,26 @@ @ApiOperation(tags = {"管理后台-充电桩信息"},value = "下载二维码") @GetMapping(value = "/downloadQRCode/{id}") public void downloadQRCode(@PathVariable Integer id, HttpServletResponse response){ - // todo 待完善 + try { + TChargingGun chargingGun = chargingGunService.getById(id); + response.setContentType("image/jpeg"); + response.setHeader("Content-Disposition","attachment; filename=" + URLEncoder.encode(chargingGun.getName(), "UTF-8") + ".jpeg"); + String url = "https://www.baidu.com?id=" + id; + String filePath = ""; + QRCodeUtils.encode(url, filePath); + FileInputStream inputStream = new FileInputStream(filePath); + PrintWriter out = response.getWriter(); + int len = 0; + byte[] buf = new byte[1024]; + while ((len = inputStream.read(buf, 0, 1024)) != -1) { + out.println(buf); + } + out.flush(); + out.close(); + inputStream.close(); + }catch (Exception e){ + e.printStackTrace(); + } } -- Gitblit v1.7.1