diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java index 9f8d1fef8..c2db93ac9 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/common/CommonController.java @@ -11,6 +11,7 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import com.ruoyi.common.config.RuoYiConfig; @@ -27,6 +28,7 @@ import com.ruoyi.common.utils.file.FileUtils; * @author ruoyi */ @Controller +@RequestMapping("/common") public class CommonController { private static final Logger log = LoggerFactory.getLogger(CommonController.class); @@ -42,7 +44,7 @@ public class CommonController * @param fileName 文件名称 * @param delete 是否删除 */ - @GetMapping("common/download") + @GetMapping("/download") public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) { try @@ -71,7 +73,7 @@ public class CommonController /** * 通用上传请求(单个) */ - @PostMapping("/common/upload") + @PostMapping("/upload") @ResponseBody public AjaxResult uploadFile(MultipartFile file) throws Exception { @@ -83,8 +85,10 @@ public class CommonController String fileName = FileUploadUtils.upload(filePath, file); String url = serverConfig.getUrl() + fileName; AjaxResult ajax = AjaxResult.success(); - ajax.put("fileName", fileName); ajax.put("url", url); + ajax.put("fileName", fileName); + ajax.put("newFileName", FileUtils.getName(fileName)); + ajax.put("originalFilename", file.getOriginalFilename()); return ajax; } catch (Exception e) @@ -96,7 +100,7 @@ public class CommonController /** * 通用上传请求(多个) */ - @PostMapping("/common/uploads") + @PostMapping("/uploads") @ResponseBody public AjaxResult uploadFiles(List files) throws Exception { @@ -104,19 +108,25 @@ public class CommonController { // 上传文件路径 String filePath = RuoYiConfig.getUploadPath(); - List fileNames = new ArrayList(); List urls = new ArrayList(); + List fileNames = new ArrayList(); + List newFileNames = new ArrayList(); + List originalFilenames = new ArrayList(); for (MultipartFile file : files) { // 上传并返回新文件名称 String fileName = FileUploadUtils.upload(filePath, file); String url = serverConfig.getUrl() + fileName; - fileNames.add(fileName); urls.add(url); + fileNames.add(fileName); + newFileNames.add(FileUtils.getName(fileName)); + originalFilenames.add(file.getOriginalFilename()); } AjaxResult ajax = AjaxResult.success(); - ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); ajax.put("urls", StringUtils.join(urls, FILE_DELIMETER)); + ajax.put("fileNames", StringUtils.join(fileNames, FILE_DELIMETER)); + ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER)); + ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); return ajax; } catch (Exception e) @@ -128,7 +138,7 @@ public class CommonController /** * 本地资源通用下载 */ - @GetMapping("/common/download/resource") + @GetMapping("/download/resource") public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response) throws Exception { diff --git a/ruoyi-admin/src/main/resources/templates/demo/form/upload.html b/ruoyi-admin/src/main/resources/templates/demo/form/upload.html index 92bc71079..0a7b9d959 100644 --- a/ruoyi-admin/src/main/resources/templates/demo/form/upload.html +++ b/ruoyi-admin/src/main/resources/templates/demo/form/upload.html @@ -50,6 +50,8 @@ var rsp = data.response; log.info("return url:" + rsp.url) log.info("reutrn fileName:" + rsp.fileName) + log.info("reutrn newFileName:" + rsp.newFileName) + log.info("return originalFilename:" + rsp.originalFilename) }).on('fileremoved', function (event, id, index) { $("input[name='" + event.currentTarget.id + "']").val('') }) @@ -62,6 +64,8 @@ var rsp = data.response; log.info("return urls:" + rsp.urls) log.info("reutrn fileNames:" + rsp.fileNames) + log.info("reutrn newFileNames:" + rsp.newFileNames) + log.info("return originalFilenames:" + rsp.originalFilenames) }).on('fileremoved', function (event, id, index) { $("input[name='" + event.currentTarget.id + "']").val('') }) diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java index 04ae9b1db..6fbf45897 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java +++ b/ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUtils.java @@ -253,4 +253,22 @@ public class FileUtils } return strFileExtendName; } + + /** + * 获取名称 + * + * @param fileName 路径名称 + * @return 没有文件路径的名称 + */ + public static String getName(String fileName) + { + if (fileName == null) + { + return null; + } + int lastUnixPos = fileName.lastIndexOf('/'); + int lastWindowsPos = fileName.lastIndexOf('\\'); + int index = Math.max(lastUnixPos, lastWindowsPos); + return fileName.substring(index + 1); + } }