Mic*_*eap 1 spring file-upload spring-mvc
我在Web应用程序中使用Spring MVC.我有一个视图,我允许用户上传文件,我想在后续视图之间保留此文件,因此在控制器操作中,我将其添加到我的下一个视图的模型中:
@RequestMapping("/loadFile")
public String loadFile(
Model model,
@RequestParam(required = true) CommonsMultipartFile uploadedFile,
HttpServletRequest request, HttpSession session)
{
//some process
model.addAttribute("file", uploadedFile);
}
Run Code Online (Sandbox Code Playgroud)
所以我的下一个视图应该有"可访问"文件.我试图复制文件上传视图的形式,然后将此文件值分配给文件输入,如下所示:
但这会分配一个org.springframework.web.multipart.commons.CommonsMultipartFile@57836c9d或类似的值,但它不起作用.
如何在视图之间传播此文件?
在Spring控制器中,您可以访问HttpSession.此对象用于在用户请求之间存储信息.您可以使用getAttribute(String)和setAttribute(String, Object)方法执行此操作.
如果您希望上传的文件可以通过CommonsMultipartFile界面跨多个请求使用,则可以将该对象存储在会话中.例如:
HttpSession session = ... // get the session, you have it in your handler method
CommonsMultipartFile uploadedFile = ...; // same as above
session.setAttribute("UPLOADED_FILE", uploadedFile);
Run Code Online (Sandbox Code Playgroud)
现在只要你的会话有效,即.没有超时或失效,任何Controller或servlet都可以访问此对象
CommonsMultipartFile uploadedFile = session.getAttribute("UPLOADED_FILE");
Run Code Online (Sandbox Code Playgroud)
Spring有一个注释@SessionAttributes,你可以在这里看一个例子,但我不喜欢它.
您可能对HttpSessionListener用于管理会话中的属性的界面感兴趣.
| 归档时间: |
|
| 查看次数: |
1480 次 |
| 最近记录: |