|
Project Information
Members
Featured
Downloads
|
Spring MVC Multipart Upload support for GAEVersion History:
Overview:This implementation removes all the file handling related codes from the following files to make it work in Google App Engine.
Maven Settings:<repositories>
<repository>
<id>gmultipart</id>
<url>http://gmultipart.googlecode.com/svn/repo/m2</url>
</repository>
</repositories><dependencies>
<dependency>
<groupId>gmultipart</groupId>
<artifactId>gmultipart</artifactId>
<version>0.3</version>
</dependency>
</dependencies>Demo:
<!--
In this implementation, maxInMemorySize is defaulted to maxUploadSize property value.
-->
<bean id="multipartResolver" class="org.gmr.web.multipart.GMultipartResolver">
<property name="maxUploadSize" value="1048576" />
</bean><html>
<body>
<form action="/save" method="post" enctype="multipart/form-data">
<input name="comment">
<input name="file1" type="file">
<input name="file2" type="file">
<input name="file3" type="file">
<input name="file4" type="file">
<input name="file5" type="file">
</form>
</body>
</html>public class CommentForm {
private String comment;
private MultipartFile file1;
private MultipartFile file2;
private MultipartFile file3;
private MultipartFile file4;
private MultipartFile file5;
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public void setFile1(MultipartFile file1) {
this.file1 = file1;
}
public void setFile2(MultipartFile file2) {
this.file2 = file2;
}
public void setFile3(MultipartFile file3) {
this.file3 = file3;
}
public void setFile4(MultipartFile file4) {
this.file4 = file4;
}
public void setFile5(MultipartFile file5) {
this.file5 = file5;
}
public MultipartFile[] getFiles() {
List<MultipartFile> files = new ArrayList<MultipartFile>();
if (file1 != null) {
files.add(file1);
}
if (file2 != null) {
files.add(file2);
}
if (file3 != null) {
files.add(file3);
}
if (file4 != null) {
files.add(file4);
}
if (file5 != null) {
files.add(file5);
}
return files.toArray(new MultipartFile[files.size()]);
}
}@Controller
public class CommentController {
@RequestMapping(value = "/save", method = RequestMethod.POST)
public String addComment(CommentForm commentForm) throws IOException {
MultipartFile[] files = commentForm.getFiles();
for (int i = 0; i < files.length; i++) {
// Do stuffs!!!
}
return "redirect:/saved"; // redirect after processing!!!
}
} |