springboot项目如何配置静态目录 前端上传东西之后 后端返回相应的路径进行访问
@Configuration
public class ApplicationConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("swagger-ui.html")
.addResourceLocations("classpath:/META-INF/resources/");
//访问 /static/下的即为 /statice/下的目录
registry.addResourceHandler("/static/**")
.addResourceLocations("classpath:/static/");
//访问 /pic/下的路径即为 /upload/Pic/下的路径
registry.addResourceHandler("/pic/**")
.addResourceLocations("classpath:/uploadPic/");
}
}
在Spring Boot中配置静态目录很简单,只需要在application.yml或application.properties文件中添加如下配置即可:
spring:
resources:
static-locations: classpath:/static/
这里以classpath:/static/目录作为静态文件目录,你可以根据实际情况进行调整,指定多个目录也可以使用逗号分隔。
在上传文件后返回相应的路径进行访问,可以使用org.springframework.web.multipart.MultipartFile类来处理上传的文件,你需要在Controller中使用@RequestMapping注解指定上传文件的路径和方法,例如:
@PostMapping("/upload")
public String uploadFile(@RequestParam("file") MultipartFile file) {
// 处理上传后的文件,可以使用FileOutputStream等类来进行存储
String fileName = file.getOriginalFilename();
// ...
// 返回相应的文件路径
return "/upload/" + fileName;
}
在上传完成后,这个方法可以返回上传文件的相对路径或者完整路径,前端可以使用这个路径访问上传的文件。如果你在配置静态目录时指定了classpath:/static/,那么上传文件的相对路径应该是/upload/文件名,例如/upload/test.jpg,前端可以使用标签或其他方式来访问该文件。
需要注意的是,这里返回的路径应该是相对于静态目录的路径,否则在访问该文件时可能出现404错误。