我在Spring应用程序中遇到了多部分文件上传功能的问题。我在我的应用程序中的少数其他jsp文件中使用struts2.3标记。在我的春季应用程序中将struts从1.2迁移到2.3之前,上传functionlity工作正常。
我的上传jsp文件中的代码段:
<td nowrap="nowrap">
<input type="file" name="file" class="formElement" size="40"/>
<input name="actionAdd" type="button" class="button" value="Add File to Table" onclick="addFileToTable();"/>
<div id="noFileSelected" style="display:none"><p><span class="error">No File selected.</span> </p></div>
</td>
实现类中的代码块:
multiPartRequest = (MultipartHttpServletRequest) request;
MultipartFile multipartFile = multiPartRequest.getFile("file");
春天配置文件中的代码
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="500000"/>
</bean>
multiPartRequest.getFile(“file”)返回null。
之前相同的代码块工作正常。
答案 0 :(得分:0)
尝试直接从文件对象获取不要使用multipart请求来获取文件。
private List<File> file; // if you want to select multiple files
private String fileFileName;
private String fileContentType;
for (File file : file){
System.out.print("\nFile ["+i+"] ");
System.out.print("title:"+imgTitle);
System.out.print("; name:" + fileFileName.get(i));
System.out.print("; contentType: " + fileContentType.get(i));
System.out.print("; length: " + file.length());
}
答案 1 :(得分:0)
我猜你有Struts2和Spring-plugin + Spring库(而不是Spring MVC,它是Struts2的替代品);那么为什么使用Spring上传文件,当Struts2更好,没有代码可以编写时呢?
JSP
<input type="file" name="file" class="formElement" size="40"/>
动作
private File file;
private String fileFileName;
private String fileContentType;
/* Getters and Setters */
确保你的堆栈中有FileUpload拦截器(如果你没有触及任何东西,你就拥有它),那就是它。全自动。