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. Python decorator装饰器

    问题: 定义了一个新函数 想在运行时动态增加功能 又不想改动函数本身的代码 通过高阶段函数返回一个新函数 def f1(x): return x*2 def new_fn(f): #装饰器函数 def ...

  2. Jquery Datatable添加复选框,实现批量操作。

    最近一段时间,一直在写前端的东西,自己也不擅长,最近也有所长进,把工作中用到的一些前端知识整理一下,下次用到就不用再找了.这次主要是在datatable中添加复选框,然后实现批量操作的功能.因为是公司 ...

  3. NSPredicate用法总结(Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取)

    简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate *ca = [NSPred ...

  4. IEEEXtreme 极限编程大赛题解

    这是 meelo 原创的 IEEEXtreme极限编程大赛题解 IEEEXtreme全球极限编程挑战赛,是由IEEE主办,IEEE学生分会组织承办.IEEE会员参与指导和监督的.IEEE学生会员以团队 ...

  5. 易普优APS混流排序算法助力汽车整车厂的均衡生产

    一.汽车整车厂生产排序的难点 “ 冲压-焊接-涂装-总装”是汽车整车生产的四大工艺类型,它们存在上下游关联关系,每个车间都有自己的优化排序目标,汽车混流生产模式使得生产过程更加复杂,从而生产管控的难度 ...

  6. JAVA 并发编程-多个线程之间共享数据

    原文地址:http://blog.csdn.net/hejingyuan6/article/details/47053409# 多线程共享数据的方式: 1,如果每个线程执行的代码相同,可以使用同一个R ...

  7. Dijkstra-傻子也能看懂的迪杰斯特拉算法(转)

    本周来来介绍指定一个点(源点)到其余各个顶点的最短路径,也叫做“单源最短路径”.例如求下图中的1号顶点到2.3.4.5.6号顶点的最短路径.           与Floyd-Warshall算法一样 ...

  8. memory_get_usage()查看PHP脚本使用内存

    memory_get_usage()可以查看当前php使用的内存大小.对于优化算法提高内存使用效率还是很实用的,尤其是对当下的移动端程序. <?php echo memory_get_usage ...

  9. Hadoop整理五(基于Hadoop的数据仓库Hive)

    数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合.它是单个数据存储,出于分析性报告和决策支持目的而创建. 为需要业务智能的企业,提供指导业务流程改进.监视时间.成本.质量以及控 ...

  10. Android 中的广播(Broadcast)

    Android 广播(broadcast) 饮水思源 本文章内容学习和总结自 郭霖大神:<Android第一行代码> Overview 就像我们的学校里的喇叭一样,是用来通知的.而Andr ...