前言
通过url访问服务器中的静态资源,效果图如下。
(通过url可直接访问pdf、图片、视频)
文件的绝对路径:
/Users/jiangjiahui/IdeaProjects/ctms-service/fileUpload/icf/9000007665.pdf
url的路径:
http://localhost:1024/dev-api/fileUpload/icf/9000007665.pdf
一、上代码
1.实现方式
例如:
现在有一个需求:
本地图片绝对路径:
C://ctms-service/fileUpload/icf/photo.png
想通过url访问:
http://localhost:1024/dev-api/fileUpload/icf/photo.png
配置代码如下(示例):
核心:创建spring配置类,实现WebMvcConfigurer,重写addResourceHandlers方法
package com.ctms.web.core.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.io.File;
/**
* @author fuguangwei
* @date 2023-01-29
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
//将匹配上/fileUpload/**虚拟路径的url映射到文件上传到服务器的绝对路径,获取静态资源
//addResourceLocations()中的参数为资源的本地路径
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/" + "fileUpload" + "/**")
.addResourceLocations("file:C://ctms-service/fileUpload/");
WebMvcConfigurer.super.addResourceHandlers(registry);
}
}
2.排除权限校验
和登录一样不需要校验token