hi 大家好:
有个问题要请教大家!
我用extjs+struts1.2做文件上传时,当文件上传成功后,却弹出了下载框,而Ext里提交后的回调函数却不能响应,为什么呢? 我使用了oreilly的COS上传组件。
前台代码是:
var upwin = new Ext.Window({ //一个窗口
width:350,
title: 'Excel文件上传',
height:180,
closeAction:'close', //关闭图标 hide / close
plain: true,
modal:true,
autoScroll:true, //自动滚动
containerScroll: false,
layout: 'fit',
items:[
new Ext.form.FormPanel({
labelAlign: 'right',
labelWidth: 60,
frame:true,
url: 'pushMgrAction.do?method=uploadFile',//fileUploadServlet
width: 300,
height:200,
fileUpload: true,
items: [{
xtype: 'textfield',
fieldLabel: '文件名',
name: 'file',
width: '250',
inputType: 'file'//文件类型
}]
})
],
buttonAlign : 'center',
buttons: [{
text: '导 入',
handler: function() {
upform.getForm().submit({
success: function(form, action){
Ext.Msg.alert('信息', action.result.msg);
},
failure: function(){ Ext.Msg.alert('错误', '文件导入失败');},
waitMsg : '正在导入数据,请等待...'
});
}
},{ text: '关 闭',handler: function(){ upwin.close(); }
}]
});
upwin.show();
}
var upform = ;
action中的代码是:
response.setContentType("text/json; charset=gb2312");
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize, "gb2312");
XlsImport xlssave = new XlsImport();
//输出反馈信息
Enumeration files = multi.getFileNames();
while (files.hasMoreElements()) {
String name = (String)files.nextElement();
File f = multi.getFile(name);
if(f!=null){
String fileName = multi.getFilesystemName(name);
String lastFileName= saveDirectory+"\\" + fileName;
java.io.File tmpfile = new java.io.File(lastFileName);
if (tmpfile.exists()) {
xlssave.xlsToDB(user.getEmpid(), lastFileName);
if(xlssave.getErrors().equals("")){
redata = "{success:true,msg:'成功导入了"+xlssave.getRowCount()+"条数据!'}" ;
}else{
redata = "{success:false,msg:'"+xlssave.getErrors().toString()+"'}";
}
}
tmpfile.delete();
}
}
out.write(redata);
out.flush();
相关推荐
实现EXTJS弹出框在n秒后自动消失,我们可以利用EXTJS的定时器(Ext.util.DelayedTask)和弹出框(Ext.MessageBox)的配置选项。下面我们将详细讨论如何实现这个功能。 首先,EXTJS的弹出框主要通过`Ext.MessageBox....
【标题】"点击上传弹出上传对话框extjs+strust2.rar" 是一个与Web开发相关的资源,其中涉及到两种关键技术:ExtJS和Struts2。这个压缩包可能包含了一个完整的示例或教程,用于展示如何在Web应用程序中实现一个功能,...
5. **“另存为”对话框**:当`a`标签的`download`属性被设置时,浏览器会在用户点击后弹出“另存为”对话框,允许用户选择保存位置。 6. **HTML环境下的处理**:对于纯HTML环境,实现方式类似,只是没有Extjs提供的...
9. **文件管理**:在上传成功后,EXTJS 还可以帮助管理和展示已上传的文件,例如在列表中显示文件名、大小、日期等信息。 `MultiFileUploadField.js` 文件是EXTJS框架中实现`MultiFileUploadField` 功能的具体代码...
EXTJS是一种基于JavaScript的前端框架,它提供了丰富的用户界面组件,包括用于文件上传的组件。在EXTJS中,实现批量上传文件是一项常见的需求,尤其在处理大量数据或媒体文件时。EXTJS的文件上传组件提供了方便的...
4. **错误处理**:如果用户输入不符合要求,例如,密码太短或包含非法字符,弹出框可能会展示错误信息,并允许用户重新输入。 5. **用户体验**:考虑到密码输入的敏感性,修改后的`prompt`方法可能还包含了其他UX...
例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出错误提示呢?这篇文章将详细讲述ExtJS如何验证文件上传类型。 使用 Validator 验证文件类型 在 ExtJS 中,我们...
4. 在请求成功后,解析服务器返回的JSON数据,并利用`window.location.href`触发文件下载。 5. 后台服务器应提供一个接口,返回包含文件路径的JSON响应。 这个过程展示了ExtJS如何与其他技术(如PHP)配合,实现...
3. **事件监听**:设置事件监听器,如文件选择、开始上传、上传进度、上传成功或失败等。 4. **进度条更新**:通过swfupload提供的API获取每个文件的上传进度,并更新对应的进度条。 5. **文件操作**:提供暂停、...
同时,提供清晰的用户反馈,如弹出消息框或更新状态栏。 以上就是使用ExtJS 4实现多文件上传的基本流程。需要注意的是,多文件上传可能涉及到浏览器兼容性问题,特别是对于`multiple`属性和`FormData`对象,所以...
例如,当文件上传成功,你可以更新ExtJS的数据存储,或者显示一个成功的提示。 4. **用户界面**:为了展示上传进度,可以使用ExtJS的进度条组件,并根据Plupload的进度更新其值。同时,可以创建一个列表或网格来...
ExtJS原生多文件拖动上传组件 使用时修改包路径 1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化...
在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...
### ExtJS 多文件上传 UploadDialog For ExtJS3.x #### 概述 在Web开发领域,特别是使用ExtJS框架进行界面设计时,文件上传功能是必不可少的一部分。然而,随着ExtJS版本的更新,原有的多文件上传组件可能不再兼容...
当用户选择文件后,可以遍历所有文件字段,对每个文件创建一个新的`FormData`实例,并发起单独的上传请求。 总结: 在ExtJS中实现多文件上传,需要结合HTML5的`FormData`、`Ajax`或`XMLHttpRequest`,以及服务端的...
本篇将详细讲解如何利用`ExtJS`和`SwfUpload`来创建一个支持多文件上传、下载和删除,并带有进度条显示的系统。 `ExtJS`是一个基于JavaScript的UI框架,它提供了丰富的组件库和强大的数据绑定机制,可以构建出复杂...
用Ext编写的多文件上传组件,已封装。 支持多文件上传,文件下载,文件删除,
本文将深入探讨如何使用EXTjs进行文件上传,并结合Strut2实现这一功能。 首先,EXTjs 提供了`Ext.form.FileField`组件,用于在表单中创建文件选择字段。这个组件允许用户选择本地文件,然后通过AJAX方式提交到...
综上所述,EXTJS3.0多文件上传组件结合了EXTJS的组件化开发优势和SWFUpload的多文件上传功能,为开发者提供了一个高效且易于定制的文件上传解决方案。通过深入理解和掌握相关知识点,可以开发出满足不同需求的多文件...