Extjs文件上传

1、将文件上传到FileLoadServlet处理


  1. Ext.onReady(function() { 
  2.     var form = new Ext.form.FormPanel({ 
  3.         labelAlign : 'right', 
  4.         title : 'form', 
  5.         labelWidth : 50, 
  6.         buttonAlign : 'center', 
  7.         frame : true, 
  8.         fileUpload : true, 
  9.         url : 'FileLoadServlet', 
  10.         width : 280, 
  11.  
  12.         items : [ { 
  13.             xtype : 'textfield', 
  14.             fieldLabel : '文本框', 
  15.             name : 'file', 
  16.             inputType : 'file' 
  17.         } ], 
  18.         buttons : [ { 
  19.             text : '提交', 
  20.             handler : function() { 
  21.                 form.getForm().submit({ 
  22.                     success : function(form, action) { 
  23.                         Ext.Msg.alert('信息', action.result.msg); 
  24.                     }, 
  25.                     failure : function() { 
  26.                         Ext.Msg.alert('错误', '失败'); 
  27.                     } 
  28.                 }); 
  29.             } 
  30.         } ] 
  31.     }); 
  32.     form.render("form"); 
  33.  
  34. }); 

2、servlet类处理

(1)web.xml


  1. <servlet> 
  2.     <servlet-name>FileLoadServlet</servlet-name> 
  3.     <servlet-class>com.alibaba.upload.FileLoadServlet</servlet-class> 
  4. </servlet> 
  5. <servlet-mapping> 
  6.     <servlet-name>FileLoadServlet</servlet-name> 
  7.     <url-pattern>/FileLoadServlet</url-pattern> 
  8. </servlet-mapping> 

(2)具体的类处理


  1. FileItemFactory factory = new DiskFileItemFactory(); 
  2.    ServletFileUpload fileload = new ServletFileUpload(factory); 
  3.  
  4.    fileload.setSizeMax(4194304); 
  5.    try { 
  6.  
  7.        List<FileItem> fileItems = (List<FileItem>) fileload.parseRequest(request); 
  8.        Iterator<FileItem> iter = fileItems.iterator(); // 依次处理每个上传的文件 
  9.  
  10.        while (iter.hasNext()) { 
  11.            FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息 
  12.            if (!item.isFormField()) { 
  13.                String name = item.getName();//获取上传文件名,包括路径 
  14.                System.out.println(name); 
  15.  
  16.                if (name != null) { 
  17.  
  18.                    File filetoserver = new File("D:\\", name); 
  19.  
  20.                    item.write(filetoserver); 
  21.  
  22.                    System.out.println("文件:" + name + "上传成功,大小是" + item.getSize()); 
  23.  
  24.                } 
  25.            } 
  26.        } 
  27.    } catch (Exception e) { 
  28.    } 
  29.    response.getWriter().print("{success:true,msg:'上传成功'}"); 

【注意】

1、需要加入fileupload包,由于其使用的common-io包,同时也需要加入其中。

 


本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/815163,如需转载请自行联系原作者

上一篇:Hadoop完全分布式安装Hive


下一篇:Java单体应用 - 项目实战(后台) - 03.后台账户管理 - 04.编辑账户