package com.yeshi.fanli.filter;
|
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.multipart.MultipartResolver;
|
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
|
|
import javax.servlet.*;
|
import javax.servlet.http.HttpServletRequest;
|
import java.io.IOException;
|
|
/**
|
* @author hxh
|
* @title: RequestFilter
|
* @description: TODO
|
* @date 2021/10/18 18:09
|
*/
|
public class RequestFilter implements Filter {
|
@Override
|
public void init(FilterConfig filterConfig) throws ServletException {
|
|
}
|
|
@Override
|
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
|
HttpServletRequest httpRequest = (HttpServletRequest) servletRequest;
|
String contentType = httpRequest.getContentType();
|
if (contentType != null && contentType.contains("multipart/form-data")) {
|
MultipartResolver resolver = new CommonsMultipartResolver(httpRequest.getSession().getServletContext());
|
MultipartHttpServletRequest multipartRequest = resolver.resolveMultipart(httpRequest);
|
// 将转化后的 request 放入过滤链中
|
servletRequest = multipartRequest;
|
}
|
filterChain.doFilter(servletRequest, servletResponse);
|
}
|
|
@Override
|
public void destroy() {
|
|
}
|
}
|