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 : ,
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 : ,
height : ,
minWidth : ,
minHeight : ,
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 : ,
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) {
}
}

Extjs 文件上传的更多相关文章

  1. PHP+ExtJS 文件上传示例

    xtJS 4 有一个非常方便的文件上传组件,可以用来将文件上传到服务器.本文PHP教程UncleToo将介绍使用PHP和ExtJS实现文件上传功能. 首先,创建文件上传组件Ext.form.Panel ...

  2. Extjs文件上传问题总结

    本来文件上传是一个简单而常用的功能,但是,由于刚刚接触extjs,对extjs中的控件及其使用方法并不熟悉,导致本来一个很快就可以搞定的文件上传问题,弄了将近两天的时间.现将问题及解决办法发出来,供有 ...

  3. 自定义ExtJS文件上传

    日常工作中,一般文件上传都是跟随表单一起提交的,但是遇到form表单中有许多地方有文件上传时这种方式却不是很适用,以下是我工作中用的文件上传方式: { xtype: 'fileuploadfield' ...

  4. struts2+extjs文件上传完整实现(攻克了上传中的各种问题)

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/shanhuhau/article/details/28617999 首先须要引入上传控件 <s ...

  5. ExtJs文件上传(Ext.ux.form.FileUploadField)

    Ext.ux.form.FileUploadField = Ext.extend(Ext.form.TextField, { /**  * @cfg {String} buttonText The b ...

  6. extjs文件上传

    EXT学习教程:http://www.cnblogs.com/iamlilinfeng/category/385121.html Ext文件上传: 例子用到的jar:   1.upload.js /* ...

  7. [转]ExtJs入门之filefield:文件上传的配置+结合Ajax完美实现文件上传的asp.net示例

    原文地址:http://www.stepday.com/topic/?459 作文一个ExtJs的入门汉子,学习起来的确是比较费劲的事情,不过如今在这样一个网络资源如此丰富的时代,依然不是那么难了的. ...

  8. extjs插件开发上传下载文件简单案例

    前台,extjs,框架,mybatis,spring,springMVC,简单的文件上传下载案例. 必要的jar包,commons-fileupload-1.3.1.jar,commons-io-2. ...

  9. extjs实现简单的多文件上传(不借助任何插件),以及包含处理上传大文件的错误的各种处理办法

    在extjs的学习过程中,有遇到过有关多文件上传的问题,但是网上的大多数都是专门的去实现多文件上传而去做的组件之类的,没有特别简单的方式,于是小白便做了下面的内容,只是通过动态的去添加extjs的自带 ...

随机推荐

  1. sql developer连接mysql

    刚刚安装sql developer之后,数据库连接时没有mysql的选项,需要增加一个jar包 mysql-connector-java-6.0.5.zip 工具--->首选项--->数据 ...

  2. odoo打包下载

    view 视图中下载按钮的编辑 <record id="action_download_zip" model="ir.actions.server"> ...

  3. [leetcode greedy]55. Jump Game

    Given an array of non-negative integers, you are initially positioned at the first index of the arra ...

  4. dSploitzANTI渗透教程之启动zANTI工具

    dSploitzANTI渗透教程之启动zANTI工具 启动zANTI工具 [示例1-2]下面将介绍启动zANTI工具的方法.具体操作步骤如下所示: (1)在Android设备的应用程序界面,选择并启动 ...

  5. 分分钟搞定Python之排序与列表

    排序时程序中用得比较多的方法了.在Python中,最简单的排序方法摸过与使用内置的sorted(list)这个函数了,该函数一一个列表作为参数返回一个新的列表,只不过是把旧列表中的元素排过序了.原列表 ...

  6. 【WIN10】文本圖標

    在Storyboard動畫板中,我使用文本顯示了一個“心”形.在這裡,我將介紹一下文本圖標. 1.Segoe MDL2 Assets 首先,它必須使用字體:Segoe MDL2 Assets 其次,它 ...

  7. android viewHolder static 静态

    韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha 不是静态内部类 会 持有 外部类的 引用.  就像经常自定义的 适配器 类 作为内部类 ...

  8. PHP渗透中的奇淫技巧--检查相等时的漏洞

    PHP是现在网站中最为常用的后端语言之一,是一种类型系统 动态.弱类型的面向对象式编程语言.可以嵌入HTML文本中,是目前最流行的web后端语言之一,并且可以和Web Server 如apache和n ...

  9. 网站(Web)压测工具Webbench源码分析

    一.我与webbench二三事 Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能.Webbench ...

  10. hdu 1429 bfs+状压

    题意:这次魔王汲取了上次的教训,把Ignatius关在一个n*m的地牢里,并在地牢的某些地方安装了带锁的门,钥匙藏在地牢另外的某些地方.刚开始 Ignatius被关在(sx,sy)的位置,离开地牢的门 ...