1. 创建本地图片目录
在resources下创建目录static/image
2. 修改配置文件
在application.yml中新增
spring:
mvc:
static-path-pattern: /**
3. 编写拦截器类,继承自HandlerInterceptor
重写preHandle方法
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=utf-8");
// 放行静态资源路径
String requestUri = request.getRequestURI();
if (requestUri.startsWith("/image")) {
return true;
}
String token = TokenComponent.getToken(request);
if(token == null || token.isEmpty()){
response.getWriter().write(JSONObject.toJSONString(new ResponseResult(401,"未登录",null)));
return false;
}
// 自己的token检查规则...
return true;
}
4. 浏览器查询
localhost:8080/image/xxx.png
5. 踩过的坑
图片文件路径在static/image目录下,但设置uri时只需要设置成/image即可,static目录是spring用来识别静态资源的,不需要出现在uri上