使用 Spring 在视图中保留 `MultipartFile` 的问题
Problems to keep a `MultipartFile` in a View using Spring
我有一个文件 select 或在我的 JSP 表格上,如下所示:
<input type="file" name="file" id="file"/>
当我select上传文件时,它会通过@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>
你有帮手class还是bean?如果不是,我认为你必须创建它......然后只需添加一个新的 MultipartFile
属性,它是 getters/setters:
MultipartFile document;
// getters & setters!!
然后在视图中:
<form:input path ="document" type="file" name="Your file"/>
在方法中包含 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());
我有一个文件 select 或在我的 JSP 表格上,如下所示:
<input type="file" name="file" id="file"/>
当我select上传文件时,它会通过@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>
你有帮手class还是bean?如果不是,我认为你必须创建它......然后只需添加一个新的 MultipartFile
属性,它是 getters/setters:
MultipartFile document;
// getters & setters!!
然后在视图中:
<form:input path ="document" type="file" name="Your file"/>
在方法中包含 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());