Extjs 文件上传

function fromExcel(){
    var dxjgdm_sel = Ext.get("dxjgdm").getValue();
    var dxjglx_sel = Ext.get("dxjglx").getValue();

   var form = new Ext.form.FormPanel({
     baseCls : 'x-plain',
     labelWidth : 150,
     fileUpload : true,
     defaultType : 'textfield',
     items : [{
        xtype : 'textfield',
        fieldLabel : '请选择要导入的Excel文件',
        name : 'userfile',
        id : 'userfile',
        inputType : 'file',
        blankText : 'File can\'t not empty.',
        anchor : '100%' // anchor width by percentage
       }]
    });

    var win = new Ext.Window({
         title : 'Excel导入',
         width : 400,
         height : 150,
         minWidth : 300,
         minHeight : 100,
         layout : 'fit',
         plain : true,
         bodyStyle : 'padding:5px;',
         buttonAlign : 'center',
         items : form,
         buttons : [{
                 text : '导入',
                 handler : function() {
                   if (form.form.isValid()) {
                        if(Ext.getCmp('userfile').getValue() == ''){
                             Ext.Msg.alert('错误','请选择你的文件');
                             return;
                          }
                        Ext.MessageBox.show({
                               title : '请等待',
                               msg : 'Excel正在导入...',
                               progressText : '',
                               width : 300,
                               progress : true,
                               closable : false,
                               animEl : 'loding'
                          });
                        form.getForm().submit({
                             url : 'ywcs_dxjgxx.app?dateTime=' + new Date().getTime()+ '&subTranCode=list&dxjgdm_sel='+dxjgdm_sel+'&fromexcel_sel=true&dxjglx_sel='+dxjglx_sel,
                             method : 'POST',
                             success : function(form, action) {
                                  Ext.Msg.alert("系统提示", "文件上传成功!");
                                  win.close();
                             },
                             failure : function() {
                                  Ext.Msg.alert("系统提示", "文件上传失败!(上传文件类型不对或文件过大)");
                             }
                        })
                       }else{
                           Ext.Msg.alert("系统提示","请选择文件后再上传!");
                       }
                  }
             }, {
                  text : '关闭',
                  handler : function() {
                       win.close();
                  }
             }]
        });
        win.show();
 
    
    
}
private void fromExcel() throws IOException, HsException {
        // TODO Auto-generated method stub
        
        FileItemFactory factory = new DiskFileItemFactory(); 
           ServletFileUpload fileload = new ServletFileUpload(factory); 
         
           fileload.setSizeMax(4194304); 
           boolean is_excel = false;
           
           try { 
               System.out.println(request);
               List<FileItem> fileItems = (List<FileItem>) fileload.parseRequest(request); 
               Iterator<FileItem> iter = fileItems.iterator(); // 依次处理每个上传的文件
               while (iter.hasNext()) { 
                   FileItem item = (FileItem) iter.next();// 忽略其他不是文件域的所有表单信息 
                   if (!item.isFormField()) { 
                       String name = item.getName();//获取上传文件名,包括路径 
                       System.out.println(name); 
                       String file_type = name.split("\\.")[1];
                       if(file_type.equals("xls") || file_type.equals("xlsx")){
                           is_excel = true;
                       }else{
                           is_excel = false;
                           System.out.println("上传文件类型不对");
                           AjaxTools.exAjax("{success:false}", response);
                           return;
                       }
                       
                       if (name != null && is_excel) { 
                           File filetoserver = new File("D:\\", name); 
         
                           item.write(filetoserver); 
         
                           System.out.println("文件:" + name + "上传成功,大小是" + item.getSize()); 
                           AjaxTools.exAjax("{success:true}", response);
                           return;
                       } 
                   } 
               }
           } catch (Exception e) { 
           } 
    }

 

posted @ 2013-09-03 22:46  残星  阅读(5674)  评论(0编辑  收藏  举报