From 178fdaf4c04a20c160ef2cfeec0f069c426c0e91 Mon Sep 17 00:00:00 2001 From: pengren Date: Tue, 23 Apr 2024 15:20:38 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BC=96=E5=8F=B7=EF=BC=9AZSSAC-585=20?= =?UTF-8?q?=E6=8F=8F=E8=BF=B0=EF=BC=9A=E7=94=9F=E6=88=90=E4=BA=8C=E7=BB=B4?= =?UTF-8?q?=E7=A0=81=E4=B8=8E=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- sf-admin/src/main/resources/application.yml | 1 + sf-common/pom.xml | 7 ++++- .../com/sf/common/utils/file/FileUtils.java | 27 +++++++++++++++++++ .../com/sf/common/utils/file/QRCodeUtils.java | 18 +++++++++++++ .../java/com/sf/file/config/AmazonConfig.java | 2 +- 5 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 sf-common/src/main/java/com/sf/common/utils/file/QRCodeUtils.java diff --git a/sf-admin/src/main/resources/application.yml b/sf-admin/src/main/resources/application.yml index c7483a6..1a466e0 100644 --- a/sf-admin/src/main/resources/application.yml +++ b/sf-admin/src/main/resources/application.yml @@ -132,6 +132,7 @@ xss: file: ceph: #endpoint: http://127.0.0.1:9000 + upload: http://192.168.1.23:9000 endpoint: http://file.sac.zsmarter.com # 50M defaultMaxSize: 52428800 diff --git a/sf-common/pom.xml b/sf-common/pom.xml index a370090..e56cb41 100644 --- a/sf-common/pom.xml +++ b/sf-common/pom.xml @@ -15,7 +15,12 @@ - + + + net.glxn.qrgen + javase + 2.0 + commons-fileupload commons-fileupload diff --git a/sf-common/src/main/java/com/sf/common/utils/file/FileUtils.java b/sf-common/src/main/java/com/sf/common/utils/file/FileUtils.java index 691c88b..6ec8403 100644 --- a/sf-common/src/main/java/com/sf/common/utils/file/FileUtils.java +++ b/sf-common/src/main/java/com/sf/common/utils/file/FileUtils.java @@ -320,5 +320,32 @@ public class FileUtils } return null; } + public static MultipartFile fileToMultipartFile(File file) throws IOException { + try { + FileInputStream fis = new FileInputStream(file); + ByteArrayOutputStream baos = new ByteArrayOutputStream(fis.available()); + byte[] bytes = new byte[fis.available()]; + int temp; + while ((temp = fis.read(bytes)) != -1) { + baos.write(bytes, 0, temp); + } + + // 文件输出流 + FileItemFactory factory = new DiskFileItemFactory(16, null); + FileItem item = factory.createItem("image", "image/png", false, "123.png"); + OutputStream os = item.getOutputStream(); + os.write(bytes); + fis.close(); + baos.close(); + os.flush(); + + // MultipartFile + MultipartFile multipartFile = new CommonsMultipartFile(item); + return multipartFile; + } catch (Exception e) { + System.err.println("二维码转换异常"); + } + return null; + } } diff --git a/sf-common/src/main/java/com/sf/common/utils/file/QRCodeUtils.java b/sf-common/src/main/java/com/sf/common/utils/file/QRCodeUtils.java new file mode 100644 index 0000000..b1745e8 --- /dev/null +++ b/sf-common/src/main/java/com/sf/common/utils/file/QRCodeUtils.java @@ -0,0 +1,18 @@ +package com.sf.common.utils.file; + + +import net.glxn.qrgen.core.image.ImageType; +import net.glxn.qrgen.javase.QRCode; +import org.springframework.web.multipart.MultipartFile; + +import java.io.File; +import java.io.IOException; + +public class QRCodeUtils { + + public static MultipartFile generateQRCode(String data) throws IOException { + File qrCodeFile = QRCode.from(data).to(ImageType.PNG).file(); + return FileUtils.fileToMultipartFile(qrCodeFile); + } +} + diff --git a/sf-file/src/main/java/com/sf/file/config/AmazonConfig.java b/sf-file/src/main/java/com/sf/file/config/AmazonConfig.java index dd20714..4548feb 100644 --- a/sf-file/src/main/java/com/sf/file/config/AmazonConfig.java +++ b/sf-file/src/main/java/com/sf/file/config/AmazonConfig.java @@ -19,7 +19,7 @@ import lombok.extern.slf4j.Slf4j; @Configuration @Slf4j public class AmazonConfig { - @Value("${file.ceph.endpoint}") + @Value("${file.ceph.upload}") private String FILE_CEPH_POINT; @Value("${file.ceph.access.key}")