我已将访问决策管理器配置为在请求被 servlet 处理之前检查请求,关键行是:-
HttpServletRequest request = (HttpServletRequest) RequestContextHolder.currentRequestAttributes().getRequest();
一切顺利。但是当请求是 enctype="multipart/form-data"
时我如何获得 MultipartHttpServletRequest
什么时候RequestContextHolder.currentRequestAttributes().getRequest()
只返回 HttpServletRequest
?
我正在使用 spring 2.5。
最佳答案
MultipartHttpServletRequest
是 Spring 特定的接口(interface),用于处理多部分表单提交。默认实现是 DefaultMultipartHttpServletRequest
,它有一个采用 HttpServletRequest
的构造函数。
所以:
HttpServletRequest originalRequest = ((ServletRequestAttributes) RequestContextHolder.currentRequestAttributes()).getRequest();
MultipartHttpServletRequest multiPartRequest = new DefaultMultipartHttpServletRequest(originalRequest);
关于java - 如何从 RequestContextHolder 获取 MultipartHttpServletRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6628510/