From 8d19fa0775f455ddabc54e4d128308013f9a6bb8 Mon Sep 17 00:00:00 2001
From: zhibing.pu <393733352@qq.com>
Date: 星期一, 26 八月 2024 17:57:12 +0800
Subject: [PATCH] 完善二维码下载功能

---
 ruoyi-service/ruoyi-chargingPile/src/main/java/com/ruoyi/chargingPile/controller/TChargingGunController.java |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 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 cc6f241..457c752 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.img.ImgUtil;
 import cn.hutool.core.io.FileUtil;
 import com.ruoyi.chargingPile.api.dto.TChargingGunDTO;
 import com.ruoyi.chargingPile.api.model.TChargingGun;
@@ -23,8 +24,12 @@
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
+import javax.servlet.ServletOutputStream;
 import javax.servlet.http.HttpServletResponse;
+import java.awt.image.BufferedImage;
+import java.io.BufferedReader;
 import java.io.FileInputStream;
+import java.io.FileReader;
 import java.io.PrintWriter;
 import java.net.URLEncoder;
 import java.util.Arrays;
@@ -132,17 +137,18 @@
     public void downloadQRCode(@PathVariable Integer id, HttpServletResponse response){
         try {
             TChargingGun chargingGun = chargingGunService.getById(id);
-            response.setContentType("image/jpeg");
-            response.setHeader("Content-Disposition","attachment; filename=" + URLEncoder.encode(chargingGun.getName(), "UTF-8") + ".jpeg");
+            String fileName = URLEncoder.encode(chargingGun.getCode(), "UTF-8") + ".jpg";
+            response.setContentType("application/force-download");
+            response.addHeader("Content-Disposition", "attachment;fileName=" + fileName);
             String url = "https://www.baidu.com?id=" + id;
-            String filePath = "";
+            String filePath = "D://" + fileName;
             QRCodeUtils.encode(url, filePath);
             FileInputStream inputStream = new FileInputStream(filePath);
-            PrintWriter out = response.getWriter();
+            ServletOutputStream out = response.getOutputStream();
             int len = 0;
             byte[] buf = new byte[1024];
             while ((len = inputStream.read(buf, 0, 1024)) != -1) {
-                out.println(buf);
+                out.write(buf);
             }
             out.flush();
             out.close();

--
Gitblit v1.7.1