Mentawai is integrated with Apache Commons FileUpload so you can easily handle file upload through the org.menatawai.filter.FileUploadFilter. Just notice that you must place the commons-fileupload-1.0.jar inside your web applicatoin's /WEB-INF/lib directory.
Check the example bellow:
public class HelloFileUpload extends BaseAction {
public String execute() throws Exception {
String username = input.getStringValue("username");
if (username == null || username.trim().equals("")) {
return ERROR;
}
output.setValue("username", username.toUpperCase());
// get a ready-to-use org.apache.commons.fileupload.FileItem
FileItem item = (FileItem) input.getValue("theFile");
output.setValue("fileSize", String.valueOf(item.getSize()));
String [] options = input.getStringValues("options");
output.setValue("options", options);
return SUCCESS;
}
}
And for the filter configuration:
public class ApplicationManager extends org.mentawai.core.ApplicationManager {
public void loadActions() {
ActionConfig ac = new ActionConfig("/HelloFileUpload", HelloFileUpload.class);
ac.addConsequence(HelloFileUpload.SUCCESS, new Forward("/hello.jsp"));
ac.addConsequence(HelloFileUpload.ERROR, new Forward("/username.jsp"));
addActionConfig(ac);
ac.addFilter(new FileUploadFilter());
}
}
And for the HTML form, it is just the regular stuff:
<html> <body> <h1>Hello Metawai!</h1> <form action="HelloFileUpload.mtw" method="post" enctype="multipart/form-data"><br> Enter an username: <input name="username" size="25" /><br> Enter filename: <input name="theFile" type="file" /><br> <input name="options" type="checkbox" value="1"> Option 1 <input name="options" type="checkbox" value="2"> Option 2 <br> <input type="submit" value="Enviar"> </form> </body> </html>
For more information on how to use the FileItem, please refer to the Apache Commons FileUpload API documentation.
You may also click here to download an FileUpload example.