From c86bfa92432bde3c1e3ea6891cf5c43c2e99cd3d Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Fri, 06 Jun 2025 19:36:36 +0800
Subject: [PATCH] 用户头像更换后移除旧头像文件
---
ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java | 53 +++++++++++++++++++++++++++++------------------------
1 files changed, 29 insertions(+), 24 deletions(-)
diff --git a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java
index 968cdc7..82db19b 100644
--- a/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java
+++ b/ruoyi-modules/ruoyi-file/src/main/java/com/ruoyi/file/controller/SysFileController.java
@@ -3,11 +3,13 @@
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
+import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import com.ruoyi.common.core.domain.R;
+import com.ruoyi.common.core.utils.StringUtils;
+import com.ruoyi.common.core.utils.file.FileUtils;
import com.ruoyi.file.service.ISysFileService;
import com.ruoyi.system.api.domain.SysFile;
@@ -21,24 +23,6 @@
{
private static final Logger log = LoggerFactory.getLogger(SysFileController.class);
- /**
- * 上传文件存储在本地的根路径
- */
- @Value("${file.path}")
- private String localFilePath;
-
- /**
- * 资源映射路径 前缀
- */
- @Value("${file.prefix}")
- public String localFilePrefix;
-
- /**
- * 域名或本机访问地址
- */
- @Value("${file.domain}")
- public String domain;
-
@Autowired
private ISysFileService sysFileService;
@@ -50,11 +34,10 @@
{
try
{
- // 上传并返回新文件名称
- String fileName = sysFileService.uploadFile(file, localFilePath);
- String url = domain + localFilePrefix + fileName;
+ // 上传并返回访问地址
+ String url = sysFileService.uploadFile(file);
SysFile sysFile = new SysFile();
- sysFile.setName(fileName);
+ sysFile.setName(FileUtils.getName(url));
sysFile.setUrl(url);
return R.ok(sysFile);
}
@@ -64,4 +47,26 @@
return R.fail(e.getMessage());
}
}
-}
\ No newline at end of file
+
+ /**
+ * 文件删除请求
+ */
+ @DeleteMapping("delete")
+ public R<Boolean> delete(String fileUrl)
+ {
+ try
+ {
+ if (!FileUtils.validateFilePath(fileUrl))
+ {
+ throw new Exception(StringUtils.format("资源文件({})非法,不允许删除。 ", fileUrl));
+ }
+ sysFileService.deleteFile(fileUrl);
+ return R.ok();
+ }
+ catch (Exception e)
+ {
+ log.error("删除文件失败", e);
+ return R.fail(e.getMessage());
+ }
+ }
+}
--
Gitblit v1.9.3