From 54790321365355fa8007a920e8ccea7d50677354 Mon Sep 17 00:00:00 2001
From: Junjie <DELL@qq.com>
Date: 星期四, 05 二月 2026 13:38:15 +0800
Subject: [PATCH] #
---
src/main/java/com/zy/asrs/controller/OpenController.java | 87 +++++++++++++++++++++++++++++++++++++++++++
1 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/OpenController.java b/src/main/java/com/zy/asrs/controller/OpenController.java
index 7028f51..41b3835 100644
--- a/src/main/java/com/zy/asrs/controller/OpenController.java
+++ b/src/main/java/com/zy/asrs/controller/OpenController.java
@@ -23,10 +23,19 @@
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
import org.springframework.beans.factory.annotation.Autowired;
import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.*;
@Slf4j
@@ -52,6 +61,84 @@
@Value("${app.version-type:stable}")
private String appVersionType;
+ @Value("${file.upload-path}")
+ private String uploadPath;
+
+ @PostMapping("/uploadLogo")
+ public R uploadLogo(@RequestParam("file") MultipartFile file) {
+ if (file.isEmpty()) {
+ return R.error("涓婁紶鏂囦欢涓嶈兘涓虹┖");
+ }
+ try {
+ File dir = new File(uploadPath);
+ if (!dir.exists()) {
+ dir.mkdirs();
+ }
+
+ String originalFilename = file.getOriginalFilename();
+ String extension = "";
+ if (originalFilename != null && originalFilename.lastIndexOf(".") > 0) {
+ extension = originalFilename.substring(originalFilename.lastIndexOf("."));
+ }
+
+ // 鍒犻櫎鏃х殑logo鏂囦欢
+ File[] files = dir.listFiles((d, name) -> name.startsWith("logo."));
+ if (files != null) {
+ for (File f : files) {
+ f.delete();
+ }
+ }
+
+ String fileName = "logo" + extension;
+ File dest = new File(dir, fileName);
+ file.transferTo(dest);
+
+ return R.ok();
+ } catch (IOException e) {
+ log.error("涓婁紶Logo澶辫触", e);
+ return R.error("涓婁紶澶辫触: " + e.getMessage());
+ }
+ }
+
+ @GetMapping("/getLogo")
+ public void getLogo(HttpServletResponse response) {
+ try {
+ File dir = new File(uploadPath);
+ if (!dir.exists()) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND, "Logo directory not found");
+ return;
+ }
+
+ File[] files = dir.listFiles((d, name) -> name.startsWith("logo."));
+ if (files == null || files.length == 0) {
+ response.sendError(HttpServletResponse.SC_NOT_FOUND, "Logo not found");
+ return;
+ }
+
+ File logoFile = files[0];
+ String filename = logoFile.getName();
+ String contentType = "image/jpeg";
+ if (filename.toLowerCase().endsWith(".png")) {
+ contentType = "image/png";
+ } else if (filename.toLowerCase().endsWith(".gif")) {
+ contentType = "image/gif";
+ }
+ response.setContentType(contentType);
+
+ try (FileInputStream fis = new FileInputStream(logoFile);
+ OutputStream os = response.getOutputStream()) {
+ byte[] buffer = new byte[1024];
+ int len;
+ while ((len = fis.read(buffer)) != -1) {
+ os.write(buffer, 0, len);
+ }
+ os.flush();
+ }
+ } catch (Exception e) {
+ log.error("鑾峰彇Logo澶辫触", e);
+ }
+ }
+
@GetMapping("/systemStatus")
public R systemStatus() {
return R.ok();
--
Gitblit v1.9.1