`

ExtJS2.0+struts实现文件上传

阅读更多
ExtJS2.0+struts实现文件上传
Extjs+struts实现文件上传
本人最近一直在研究extjs,感觉其功能强大复杂,前段时间做了个项目,要使用extjs实现文件上传,下面写出研究成果,与各位一起分享。
1.fileUpload.js

Ext.onReady(function(){  
 
var form = new Ext.form.FormPanel({  
    renderTo:'file', 
    labelAlign: 'right',  
    title: '文件上传',  
    labelWidth: 60,  
    frame:true, 
    url: '../upload.do?op=uploadFile',//fileUploadServlet  
    width: 300,  
    height:200, 
    fileUpload: true, 
   

    items: [{  
       xtype: 'textfield',  
       fieldLabel: '文件名',  
       name: 'file',  
       inputType: 'file'//文件类型  
     }],  
     
   buttons: [{  
       text: '上传',  
       handler: function() {  
       form.getForm().submit({  
       success: function(form, action){  
          Ext.Msg.alert('信息', '文件上传成功!');  
       },  
      failure: function(){  
         Ext.Msg.alert('错误', '文件上传失败');  
      }  
    });  
   }  
}]  
});  

});  

2.uploadAction.java 其中使用了cos上传组件,下载地址http://www.servlets.com/cos/cos-05Nov2002.zip

  1. package zx.struts.actions; 
  2.  
  3. import java.io.File; 
  4. import java.util.Enumeration; 
  5.  
  6. import javax.servlet.http.HttpServletRequest; 
  7. import javax.servlet.http.HttpServletResponse; 
  8.  
  9. import org.apache.struts.action.ActionForm; 
10. import org.apache.struts.action.ActionForward; 
11. import org.apache.struts.action.ActionMapping; 
12.  
13. import com.oreilly.servlet.MultipartRequest; 
14.  
15.  
16. public class UploadAction extends DispatchAction{ 
17.     public ActionForward uploadFile(ActionMapping mapping, ActionForm form, 
18.             HttpServletRequest request, HttpServletResponse response)throws Exception { 
19.  
20.          
21.         String saveDirectory ="F:\\jboss-4.2.2.GA\\server\\default\\deploy\\userDemo.war\\upload";      //文件上传后,保存的位置 
22.  
23.         int maxPostSize =3 * 5 * 1024 * 1024 ;   //每个文件最大5MB,最多3个文件,所以...  
24.        
25.         //response的编码为"gb2312" 
26.         MultipartRequest multi =  
27.                new MultipartRequest(request, saveDirectory, maxPostSize,  
28.                                     "gb2312");  
29.  
30.         //输出反馈信息  
31.          Enumeration files = multi.getFileNames();   
32.              while (files.hasMoreElements()) {  
33.                 
34.                String name = (String)files.nextElement();  
35.                File f = multi.getFile(name);  
36.                if(f!=null){  
37.                  String fileName = multi.getFilesystemName(name);  
38.                  String lastFileName= saveDirectory+"\\" + fileName;  
39.                  System.out.println("上传的文件:"+lastFileName);  
40.                   
41.  
42.                }  
43.              }  
44.  
45.      
46.    return null; 
47. } 
48. } 

转载自:http://www.iteye.com/topic/174741
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics