配置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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐