From e1d07590869b1cf6d09edc2bee67c2e7386d835d Mon Sep 17 00:00:00 2001
From: 无关风月 <443237572@qq.com>
Date: 星期五, 21 二月 2025 09:34:34 +0800
Subject: [PATCH] 补充管理后台文件上传

---
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java |   38 ++++++++++++++++++++++++++++++++++++++
 1 files changed, 38 insertions(+), 0 deletions(-)

diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java
index 4f6954b..c6b9a6f 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/controller/FileController.java
@@ -79,6 +79,44 @@
         redisTemplate.opsForValue().set("file:" + userId, filename, 1, TimeUnit.HOURS);
         return AjaxResult.success(imgstr);
     }
+    @ApiOperation(value = "单文件上传", notes = "单文件上传,rename 默认不重命名")
+    @PostMapping(value = "uploadManage", headers = "content-type=multipart/form-data")
+    public AjaxResult uploadManage(@RequestParam(value = "file") MultipartFile mf) throws IOException {
+        Long userId = tokenService.getLoginUser().getUserid();
+        if(null == userId){
+            return AjaxResult.error("请先登录");
+        }
+        if (mf.isEmpty()) {
+            return AjaxResult.error("请传入文件!");
+        }
+        String TimeDir =new SimpleDateFormat("yyyy-MM-dd").format(new Date());
+        String realPath = fileUploadConfig.getLocation() + TimeDir;
+        File file = new File(realPath);
+        // 没有目录就创建
+        if (!file.exists()) {
+            file.mkdirs();
+        }
+        // 获取文件名称
+        String filename = mf.getOriginalFilename();
+        if(filename.contains("../")){
+            filename = filename.replaceAll("\\.\\./", "");
+        }
+        // 获取文件后缀
+        String ext = filename.substring(filename.lastIndexOf(".") + 1);
+        // 检查文件类型
+        if (!fileUploadConfig.getAllowExt().contains(ext)) {
+            return AjaxResult.error("上传文件格式不正确,仅支持" + fileUploadConfig.getAllowExt());
+        }
+        filename = UUID.randomUUID() + "." + ext;
+        File targetFile = new File(realPath, filename);//目标文件
+        //开始从源文件拷贝到目标文件
+        //传图片一步到位
+        mf.transferTo(targetFile);
+        //拼接数据
+        String imgstr = fileUploadConfig.getAccessPath() + TimeDir +"/"+ filename;
+        redisTemplate.opsForValue().set("file:" + userId, filename, 1, TimeUnit.HOURS);
+        return AjaxResult.success(imgstr);
+    }
 
 
 //    @ApiOperation(value = "单文件上传", notes = "单文件上传,rename 默认不重命名")

--
Gitblit v1.7.1