SpringBoot通过URL直接访问图片(作为静态资源处理)

🎈边走、边悟🎈迟早会好

@Configuration
public class WebConfig implements WebMvcConfigurer {

    @Value("${path.fileRootPath}")
    private String fileRootPath;

    @Override
    public void addFormatters(FormatterRegistry registry) {
        registry.addConverter(new StringToLocalDateConverter());
        registry.addConverter(new StringToLocalDateTimeConverter());
        registry.addFormatter(new LocalDateFormatter());
        registry.addFormatter(new LocalDateTimeFormatter());
    }

    // cors配置
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedMethods("*") // 允许的请求方法
                .allowedHeaders("*") // 允许所有请求头
                .allowCredentials(true) // 是否允许发送Cookie
                .maxAge(3600); // 预检请求的有效期,单位为秒
    }

    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/profile/**")
                .addResourceLocations("file:" + fileRootPath + "/");
    }


}

这段Java代码是Spring框架中用于配置资源处理的一部分,特别是用于Web应用程序中。它定义了一个方法addResourceHandlers,该方法接收一个ResourceHandlerRegistry类型的参数registry。通过调用registry上的方法,可以配置静态资源的访问路径和存储位置。下面是对这段代码的详细解释:

  1. 方法定义:

    • public void addResourceHandlers(ResourceHandlerRegistry registry): 这是一个公开的方法,没有返回值(void),名为addResourceHandlers。它接受一个ResourceHandlerRegistry类型的参数,该参数用于注册资源处理器。
  2. 资源处理器注册:

    • registry.addResourceHandler("/profile/**"): 这行代码通过registry对象注册了一个资源处理器。/profile/**是一个路径模式,表示任何以/profile/开头的请求都将被这个资源处理器处理。**是一个通配符,表示/profile/后面可以跟任意字符和路径结构。
  3. 资源位置设置:

    • .addResourceLocations("file:" + fileRootPath + "/"): 这行代码指定了资源文件实际存储的位置。它通过.addResourceLocations方法设置,该方法接受一个或多个资源位置的字符串。这里,资源位置是通过拼接字符串来动态指定的,其中"file:"前缀表示资源存储在文件系统中,而不是在类路径(classpath)中或某个URL指向的位置。fileRootPath是一个变量,它应该在这段代码之前被定义并赋值为一个字符串,表示资源文件的根目录路径。最后,"/"确保路径是以斜杠结束的,这在指定文件系统路径时是常见的做法。

总结

这段代码的作用是配置Spring Web应用程序,以便它能够处理对/profile/**路径的请求,并将这些请求映射到文件系统中的某个特定目录(由fileRootPath变量指定)。这允许Web应用程序作为静态资源的服务器,提供对这些资源的访问,例如图片、CSS文件、JavaScript文件等。这对于开发过程中提供静态资源或生产环境中提供用户上传文件等服务非常有用。

 🌟感谢支持 听忆.-CSDN博客

🎈众口难调🎈从心就好

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值