gwt使用apache-commons-fileUpload,轻松实现文件上传,图片上传等功能。
1.gwt 前端页面(可以做成组建,供各个模块调用)
FormPanel formPanel = new FormPanel();
formPanel.setAction("/uploadImage");
formPanel.setEncoding(FormPanel.ENCODING_MULTIPART);
formPanel.setMethod(FormPanel.METHOD_POST);
FlowPanel panel = new FlowPanel();
formPanel.setWidget(panel);
FileUpload fileUpload = new FileUpload();
fileUpload.setName("file");
panel.add(fileUpload);
ok,formpanel触发sumbit即可。下面便是servlet端的实现。
2.servlet端
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = null;
try {
items = upload.parseRequest(request);
} catch (FileUploadException ex) {
throw new ServletException(ex);
}
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
if (item.isFormField() == false) {
//获得byte数组
byte[] bytes = item.get();
//或直接保存成文件
File file = new FIle("D:/temp",item.getName());
item.write(file);//直接保存文件
}
}