Springboot前端页面上传照片到项目文件夹中不能及时显示,只能重新部署idea才能显示
问题:Springboot前端页面上传照片到项目文件夹中不能及时显示,只能重新部署idea才能显示
一开始以为是springboot对上传和请求的资源大小有限制,但是修改后也没有用,还是需要重新部署项目才能显示
参考:spring boot 文件上传大小限制
根本原因:因为对服务器的保护措施导致的,服务器不能对外部暴露真实的资源路径,需要配置虚拟路径映射访问。
参考:图片上传到后端,但是再读取图片显示到前端就不显示
记录Spring boot上传图片后不能立即显示的原因及解决方法(读取当前项目下的图片)
解决方法:在原本已经没问题的代码上再添加一个配置类即可
package com.example.config;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* 静态资源映射
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
//相对路径映射 因为不重新部署,这个就会显示404
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
//绝对路径映射 ,这个不重新部署就可以回显,因为映射你的本地(这里是我图片所上传到项目的位置)
registry.addResourceHandler("/images/**").addResourceLocations("file:D:\\javaidea\\workend\\blog\\src\\main\\resources\\static\\images\\");
}
}