上传文件时,需要将上传的文件存放于工程路径中,以便前端能够获取文件资源,那如何获取工程路径呢?
//获取 SpringBoot 工程中 static 的绝对路径
String serverpath= ResourceUtils.getURL("classpath:static").getPath();
//从路径字符串中取出工程路径
path=serverpath.replace("%20"," ").replace('/', '\\').substring(1);
SpringBoot 工程编译成功后将输出 target 文件夹,target 文件夹里保存 Java 类编译后的 class 文件以及客户端资源文件。
所以,客户端输入 URL 地址访问的资源文件,其实是从 target 文件夹中获取,而不是项目工程中。
如果将上传的文件存放于项目工程中,那么需要重新编译工程,才能将上传的文件存放于 target 文件夹,这样客户端才能正常访问。