【发布时间】:2013-05-24 10:21:48
【问题描述】:
我在 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);
}
所以我的下一个视图应该是文件“可访问”。我试图复制我的文件上传视图的形式,然后将此文件值分配给文件输入,如下所示:
但这会分配org.springframework.web.multipart.commons.CommonsMultipartFile@57836c9d 或类似的值,但它不起作用。
您将如何在视图之间传播此文件?
【问题讨论】:
-
您看到的是
toString()方法的值。在您的第二个视图中,您是否希望能够在输入字段中看到文件的路径? -
除了从第一个表单接收请求的控制器操作之外,我还想在其他控制器操作中访问此文件。
-
为什么不将它保存到磁盘并在以后的请求中访问它?
-
因为我冒着以后不删除它的风险,因为用户可以关闭当前页面然后我不知道什么时候删除它......
-
您可以为此使用
HttpSessionListener。将CommonsMultipartFile存储在会话中。
标签: spring spring-mvc file-upload