SpringBoot已经内置了comcat,我们通过配置服务器本地文件夹路径到URL的映射即可通过配置好的URL访问文件夹中的文件资源。
1.首先,创建 WebMvcConfig 类,继承 WebMvcConfigurer;
2.重写 addResourceHandlers方法;
registry.addResourceHandler("/photovoltaic/**").addResourceLocations("file:" + ConfigInfo.datasrcDir + "/");
其中:
"/photovoltaic/**" :访问时的IP+端口+/photovoltaic/...
"file:" + ConfigInfo.datasrcDir + "/" :ConfigInfo.datasrcDir为本地需要映射的文件夹,注意"file:"不能缺少,该参数表明是本地文件;
完整代码如下:
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/photovoltaic/**").addResourceLocations("file:" + ConfigInfo.datasrcDir + "/");
registry.addResourceHandler("/photovoltaictmp/**").addResourceLocations("file:" + ConfigInfo.datatempDir + "/");
System.out.println("photovoltaic: " + "file:" + ConfigInfo.datasrcDir);
System.out.println("photovoltaictmp: " + "file:" + ConfigInfo.datatempDir);
}
}
示例:
启动时,我本地映射如下:
本地文件路径为:
D:\install\Tomcat\webapps\photovoltaic\datasrc\test\test.jpg
对应使用URL访问即为:
http://192.168.200.62:8085/photovoltaic/test/test.jpg
此时,浏览器可以正常访问: