我的JSP表单上有一个文件选择器,如下所示:
<input type="file" name="file" id="file"/>
当我选择上传文件时,它会通过@RequestParam向控制器发送一个MultipartFile:
@RequestParam("file") MultipartFile file
但是如何将此文件恢复到同一个视图?
我尝试将model.addAttribute("file", file)
放在控制器上,但它无效。
致以最诚挚的问候,
编辑。
我有以下Bean:
<bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" >
<property name="maxUploadSize" value="100000000"></property>
</bean>
答案 0 :(得分:0)
你有一个助手类或一个豆?如果不是,我认为你必须创建它...然后只需添加一个新的MultipartFile
属性与它的getter / setter:
MultipartFile document;
// getters & setters!!
然后在视图中:
<form:input path ="document" type="file" name="Your file"/>
答案 1 :(得分:0)
在方法中包含HttpServletResponse
响应,并将文件的内容写入响应(正确定义mime类型。
public void processUpload(@RequestParam MultipartFile file,
HttpServletResponse resp) {
resp.setContentType(yourTypeHere + "; charset=UTF-8");
resp.setHeader("Content-Disposition", "attachment; filename=\""
+ theFileName + "\"");
IOUtils.copy(new TheInputStreamFromTheFile(), resp.getOutputStream());