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) { } }