@Component
public class StaticResourcePathResolver {
private final ServletContext servletContext;
@Autowired
public StaticResourcePathResolver(ServletContext servletContext) {
this.servletContext = servletContext;
}
public String getStaticResourcesPath() {
return (String) servletContext.getRealPath("/");
}
public String getUploadPath(){
return new File(this.getStaticResourcesPath(), "upload").getAbsolutePath();
}
}
上传文件代码:
@Override
public Result upload(MultipartFile file) {
String fileName = System.currentTimeMillis() + "." + getExtension(Objects.requireNonNull(file.getOriginalFilename()));
File dest = new File(
srp.getUploadPath(),
fileName
);
try {
file.transferTo(dest);
} catch (IOException e) {
return new Result(false, e.getMessage(), 500);
}
Result res = new Result(true, "success " + dest.getAbsolutePath(), 200);
return res;
}
// 获取文件后缀名
private static String getExtension(String fileName) {
int i = fileName.lastIndexOf('.');
if (i > 0 && i < fileName.length() - 1) {
return fileName.substring(i + 1).toLowerCase();
}
return fileName;
}
上传成功后默认访问路径:
http://localhost:9090/api/upload/1717207097696.png
http://localhost:9090 (主机名 + 端口)
/api (如果有 tomcat或nginx 的路径 ,没有则不用理会)
/upload (静态资源文件夹的名称)
/1717207097696.png (文件名)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)