`

GWT & apache-commons-fileUpload 轻松实现文件上传

    博客分类:
  • gwt
阅读更多

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);//直接保存文件        
    }   
}  

 

  • 大小: 8.2 KB
分享到:
评论
8 楼 Robbiet 2008-08-15  
lz,我根据你的说明进行操作,运行后,抛出了异常
java.lang.NoClassDefFoundError: org/apache/commons/fileupload/FileUploadException
我已经把commons-io和commons-fileupload添加到了项目中。
不知道是什么原因?
7 楼 yongyuan.jiang 2008-05-04  
simonatoslo 写道
想问问把commons 包引入是不是要自己手动修改包结构,加入gwt.xml文件啊?
还有我在gwt里应用java 核心类库好像都有问题。是不是都要自己弄?



前端类没有用到commons包,你把gwt前端类拷贝到一个前端类即可。
action指向你的servlet。

在servlet端把代码拷贝过去,这里需要引入commons包。
6 楼 simonatoslo 2008-04-29  
想问问把commons 包引入是不是要自己手动修改包结构,加入gwt.xml文件啊?
还有我在gwt里应用java 核心类库好像都有问题。是不是都要自己弄?
5 楼 angeltping 2008-04-26  
大哥搞全点赛,整个例子讲细点赛
4 楼 stone 2008-04-25  
lz兄弟,还是加个handler吧,这样会更加突出gwt的简单易用面向对象
3 楼 chenlei0358 2008-04-25  
能麻烦您把例子给的全一些可以码?
2 楼 agsd 2008-04-22  
    
很好很好
1 楼 skychen1900 2008-02-04  
能否发份源码学习一下?skychen1900@gmail.com
先谢过~~

相关推荐

Global site tag (gtag.js) - Google Analytics