`
wlh269
  • 浏览: 447921 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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

Java代码
package zx.struts.actions;   
  
import java.io.File;   
import java.util.Enumeration;   
  
import javax.servlet.http.HttpServletRequest;   
import javax.servlet.http.HttpServletResponse;   
  
import org.apache.struts.action.ActionForm;   
import org.apache.struts.action.ActionForward;   
import org.apache.struts.action.ActionMapping;   
  
import com.oreilly.servlet.MultipartRequest;   
  
  
public class UploadAction extends DispatchAction{   
    public ActionForward uploadFile(ActionMapping mapping, ActionForm form,   
            HttpServletRequest request, HttpServletResponse response)throws Exception {   
  
           
        String saveDirectory ="F:\\jboss-4.2.2.GA\\server\\default\\deploy\\userDemo.war\\upload";      //文件上传后,保存的位置   
  
        int maxPostSize =3 * 5 * 1024 * 1024 ;   //每个文件最大5MB,最多3个文件,所以...    
         
        //response的编码为"gb2312"   
        MultipartRequest multi =    
               new MultipartRequest(request, saveDirectory, maxPostSize,    
                                    "gb2312");    
  
        //输出反馈信息    
         Enumeration files = multi.getFileNames();     
             while (files.hasMoreElements()) {    
                  
               String name = (String)files.nextElement();    
               File f = multi.getFile(name);    
               if(f!=null){    
                 String fileName = multi.getFilesystemName(name);    
                 String lastFileName= saveDirectory+"\\" + fileName;    
                 System.out.println("上传的文件:"+lastFileName);    
                    
  
               }    
             }    
  
       
   return null;   
}   
}  
分享到:
评论
2 楼 风云霸道 2012-04-19  
能把XML文件的代码分享出来吗?
1 楼 Dev|il 2011-03-25  
lz可不可以把这个例子代码发我啊 邮箱441091647@qq.com,谢谢了

相关推荐

Global site tag (gtag.js) - Google Analytics