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}")