java - 如何从 RequestContextHolder 获取 MultipartHttpServletRequest?

标签 java spring-mvc multipartform-data

我已将访问决策管理器配置为在请求被 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/

相关文章:

java - preHandle 中除了 HandlerMethod 之外还有什么处理程序?

java - 错误 [org.springframework.web.servlet.DispatcherServlet]

具有 FromForm 绑定(bind)到 IFormFile 属性的 C# 集成测试 Controller

java - 通过 applet 绘制方法使用 swing 组件

java - 使用可点击图像的菜单?

java - spring 工具套件默认 mvc 项目 Web 应用程序

Node.js - 生成多部分/表单数据

PHP + MySQLi - 尝试使用 enctype ="multipart/form-data"将图像上传到本地主机数据库中的用户行

java - 获取主页的实时库存数据

java - 如何在我的 Android 项目中使用 Eclipse 的新 Xtend 语言?