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,如需转载请自行联系原作者

相关文章
|
5月前
|
存储 开发框架 前端开发
在EasyUI项目中使用FileBox控件实现文件上传处理
在EasyUI项目中使用FileBox控件实现文件上传处理
|
7月前
uploadify组件文件上传那些事
uploadify组件文件上传那些事
71 0
|
JavaScript 前端开发 内存技术
|
JavaScript 内存技术
|
Web App开发 JavaScript 前端开发
|
JavaScript 内存技术 Java
uploadify 实现文件上传
uploadify官网我们需要到官网上下载需要的插件引入到项目中,同时我们最好看看uploadify的中文文档,当然直接把下面的代码复制作为一个工具类也行,反正都是大同小异.
1461 0
|
JavaScript 前端开发
写个简易的jQuery文件上传扩展
直接上代码: /* *jquery.ajaxUpload.js */ jQuery.extend({ ajaxFileUpload: function(s) { s = jQuery.
665 0
|
JavaScript 前端开发 存储
Jquery上传插件Uploadify无刷新上传文件
Uploadify v3.2.1  上传图片并预览 前端JSP: &lt;script type="text/javascript"&gt;                             $(function() {                 $("#upload_org_code").uploadify({                     'height'    
2216 0