tested in Roo 1.0.2
1: modify create.jsp: add enctype="multipart/form-data" and <input type="file" name="file"/>
PHP Code:
<form:form action="${form_url}" method="POST" modelAttribute="big" enctype="multipart/form-data">
file: <input type="file" name="file" />
2: modify entity:
PHP Code:
@Entity
@RooJavaBean
@RooToString
@RooEntity
public class Big {
@Size(max = 10240)
private String content;
@Size(max = 20)
private String name;
@Transient
private CommonsMultipartFile file; // added
private String fileName; // added
private long size; //added
public CommonsMultipartFile getFile() {
return file;
}
// save file to disk ,save filename , file size to database
public void setFile(CommonsMultipartFile file) {
this.file = file;
this.fileName = file.getOriginalFilename();
this.size = file.getSize();
System.out.println(" hehe this.fileName: " + this.fileName + " , "
+ file.getClass().getName());
try {
InputStream in = file.getInputStream();
FileOutputStream f = new FileOutputStream("f:/work/tempDir/"
+ new Date().getTime());
int ch = 0;
while ((ch = in.read()) != -1) {
f.write(ch);
}
f.flush();
f.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}