update ruoyi-common/src/main/java/com/ruoyi/common/utils/file/FileUploadUtils.java. 文件上传目录支持相对路径

MultipartFile 内部的file.transferTo(desc)写入文件时会调用desc.getPath(),如果是绝对路径,则没问题,如果是相对路径,就会无法写入,抛出异常

File desc = new File("ruoyi\uploadPath\upload" + File.separator + "\2021\10\15\a3092bfb-90ad-409a-b3bd-ebb7ff2ecd26.zip")
例如:
System.out.println("-------desc1: "+ desc.getPath());
System.out.println("-------desc2: "+ desc.getCanonicalPath());
输出如下:
-------desc1: ruoyi\uploadPath\upload\2021\10\15\a3092bfb-90ad-409a-b3bd-ebb7ff2ecd26.zip
-------desc2: D:\Workspaces\edu\edu-server-vue\ruoyi\uploadPath\upload\2021\10\15\a3092bfb-90ad-409a-b3bd-ebb7ff2ecd26.zip
则将该路径进行完整路径包裹一下,MultipartFile 其内部调用getPath也能拿到完整路径,即可以支持相对路径的文件上传 
file.transferTo(desc) -> file.transferTo(new File(desc.getCanonicalPath()))
This commit is contained in:
poplartang 2021-10-15 06:13:18 +00:00 committed by Gitee
parent e7afea4cb7
commit 320b462f3f

View File

@ -138,7 +138,7 @@ public class FileUploadUtils
desc.getParentFile().mkdirs();
}
}
return desc;
return new File(desc.getCanonicalPath());
}
public static final String getPathFileName(String uploadDir, String fileName) throws IOException