【SpringBoot】配置addResourceHandler访问静态资源问题
配置application.ymlfile:path:windows: D:\desktop\home\idea_home\zhzf\pic\linux: /Users/lhk/Desktop/zhzf/pic/配置WebMvcConfigwindowsFilePath:windows系统本地静态资源的真实地址(对应application.yml中的windows)linuxFilePath:li
·
配置application.yml
file:
path:
windows: D:\desktop\home\idea_home\zhzf\pic\
linux: /Users/lhk/Desktop/zhzf/pic/
配置WebMvcConfig
windowsFilePath:windows系统本地静态资源的真实地址(对应application.yml中的windows)
linuxFilePath:linux系统本地静态资源的真实地址(对应application.yml中的linux)
通过registry.addResourceHandler("/img/**")设置url的访问路径(数据库中存的地址)
访问静态资源的路径是
http://ip:端口号/img/静态资源名称
import org.springframework.beans.factory.annotation.Value;
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 {
@Value("${file.path.windows}")
private String windowsFilePath;
@Value("${file.path.linux}")
private String linuxFilePath;
/**
* 静态资源文件映射配置
* @param registry
*/
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
String os = System.getProperty("os.name");
if (os.toLowerCase().startsWith("win")) { //如果是Windows系统
registry.addResourceHandler("/img/**").addResourceLocations("file:"+windowsFilePath);
}else{ //linux和mac系统
registry.addResourceHandler("/img/**").addResourceLocations("file:"+linuxFilePath+"/");
}
}
测试:
本地图片地址:/Users/lhk/Desktop/zhzf/pic/123.jpg
数据库存储地址: http://ip地址:端口号/img/123.jpg
更多推荐
已为社区贡献3条内容
所有评论(0)