示图如下:
前台展示代码如下:
var upload=function (callFunc) {
var i = 0;
var currentField;
function getUploadField(callFun) {//增加一行文件框
var fileName = "文件 " + (++i) + " : ";
var uploadFileTf = new Ext.form.TextField({
xtype : 'textfield',
columnWidth : .7,
name : 'file',
inputType : 'file',
allowBlank : false,
blankText : '请选择上传文件',
anchor : '90%'
});
var lbl = new Ext.form.Label({
text : fileName,
columnWidth : .15,
style : 'font-weight:bold;vertical-align: middle'
});
var fieldSet = new Ext.form.FieldSet({
layout : 'column',
border : false
});
fieldSet.add(lbl);
fieldSet.add(uploadFileTf);
if (i != 1) {
var deleteBtn = new Ext.Button({
text : '删除',
icon : MCLONIS + "/js/images/delete.gif",
columnWidth : .15,
handler : function() {
fieldSet.destroy();
upload_win.setHeight(upload_win.getHeight() - 37);
uploadForm.doLayout(true);
}
});
fieldSet.add(deleteBtn);
}
return fieldSet;
}
//上传form
var uploadForm = new Ext.form.FormPanel({
baseCls : 'x-plain',
labelWidth : 80,
// layout:'fit',
autoHeight:true,
style:'margin-top:10',
frame : true,
disabledClass : "x-item-disabled",
tbar : [{
xtype : 'button',
text : '添加上传',
labelAlign : 'right',
icon : KANGSOFT + "/js/images/add_16.gif",
handler : function() {
var uf = getUploadField();
uploadForm.add(uf);
uploadForm.doLayout(true);
upload_win.setHeight(upload_win.getHeight()
+ 47);
}
}, {
xtype : 'label',
text : '(单个最大允许上传50M)'
}],
url : MCLONIS + '/sm/fileUploadAction!fileUpLoad.action',
fileUpload : true,
defaultType : 'textfield',
items : [getUploadField()]
});
var upload_win = new Ext.Window({
title : '文件上传',
width : 500,
layout : 'fit',
plain : true,
bodyStyle : 'padding:5px;',
buttonAlign : 'center',
items : uploadForm,
resizable : false,
closeAction : 'close',
loadMask : true,
height:160,
buttons : [{
text : '开始上传',
icon : MCLONIS + "/js/images/upload.png",
handler : function() {
if (uploadForm.form.isValid()) {
Ext.MessageBox.show({
title : 'Please wait',
msg : '上传中...',
progressText : '- - - -上传中- - - -',
width : 300,
progress : true,
closable : false,
animEl : 'loding'
});
uploadForm.getForm().submit({
success : function(form, action) {
var result = Ext.util.JSON
.decode(action.response.responseText);
Ext.Msg.alert('信息提示', result.message);
var fn = callFunc.createCallback(result);
fn();
upload_win.hide();
},
failure : function() {
Ext.Msg.alert('信息提示', '文件上传失败');
upload_win.show();
}
})
}
}
}, {
text : '关闭',
icon : MCLONIS + "/js/images/btn-cancel.png",
handler : function() {
upload_win.hide();
}
}]
});
upload_win.show();
}
后台部分根据需要实现
注:由于是支持多文件所以后台接收应该写为
private List<File> file;//上传文件
private List<String> fileFileName;// 使用列表保存多个上传文件的文件名
针对struts2.x
- 大小: 14.4 KB
分享到:
相关推荐
本话题主要关注如何使用Java后端和ExtJS前端框架来实现单文件上传的流程。下面将详细讲解这个过程涉及的关键知识点。 首先,我们来看Java文件上传。在Java中,处理文件上传主要依赖于Servlet API中的`Part`接口,这...
本文将深入探讨如何使用EXTjs进行文件上传,并结合Strut2实现这一功能。 首先,EXTjs 提供了`Ext.form.FileField`组件,用于在表单中创建文件选择字段。这个组件允许用户选择本地文件,然后通过AJAX方式提交到...
总结来说,Struts2+ExtJS3组合可以有效地实现文件上传功能,无论是在后台处理还是在前端交互方面都有很好的支持。提供的资源包含了所有必要的JAR包,使得开发者可以快速集成并理解代码,减少了额外的下载和配置工作...
博客链接指向了ITEYE上的一篇博客文章,可能详细介绍了如何在ExtJS5.1中实现多文件上传功能,包括配置、事件处理和实际应用示例。 标签“源码”表明这个压缩包可能包含了实现多文件上传功能的源代码,对于开发者来...
在本文中,我们将深入探讨如何使用ExtJS实现多文件上传功能,而不依赖于SWFUpload插件。ExtJS是一款强大的JavaScript框架,它提供了丰富的组件和API,使得在Web应用程序中构建复杂的用户界面变得轻松易行。多文件...
描述中提到的“文件上传”功能,通常在`ExtJs2.0`中通过FileUploadField组件来实现,配合后台SSH框架接收文件并保存到服务器。这一过程涉及到文件的验证、临时存储和持久化,需要考虑到文件大小限制、安全性和效率等...
在本文中,我们将深入探讨如何使用ExtJS框架与ASP(Active Server Pages)技术结合,实现一个功能完善的文件上传功能,特别是针对图片和其他类型文件的上传。ExtJS是一款强大的JavaScript库,用于构建桌面级的Web...
Extjs3.3+swfUpload2.2 实现多文件上传组件 Extjs3.3+swfUpload2.2 实现多文件上传组件是一种基于 Extjs3.3 和 swfUpload2.2 的文件上传解决方案。该组件可以实现多文件上传,具有良好的用户体验和可扩展性。 多...
Spring提供了文件上传的支持,而文件下载可以通过设置响应头来控制,如Content-Disposition和Content-Type,以实现文件的下载。 7. **用户管理**:系统中的用户管理模块可能包括用户注册、登录、权限分配等功能。这...
接下来,我们关注`ExtJS`在前端如何实现文件上传。`ExtJS`提供了一个名为`Ext.form.Panel`的组件,可以创建表单,包括文件输入字段。使用`Ext.form.FileField`可以创建一个允许用户选择文件的控件。当用户选择文件并...
ExtJS + JSP 实现表单上传进度条,并且根据上传的字节数动态更新进度条。部署和测试都很简单,直接把progress.zip解压在tomcat/webapps/ROOT下面就可以用http://localhost:8080/upload.html测试。
总结,通过ExtJS和Commons FileUpload的结合,我们可以构建一个稳定、安全、用户体验良好的文件上传功能。这个过程涉及到前端的表单设计、后端的文件处理逻辑,以及必要的安全防护措施。了解并掌握这些知识点,对于...
总结来说,要实现"Extjs 的简单导入文件 第一步",我们需要理解并应用Ext JS的表单组件、文件上传字段、事件处理、Ajax请求,以及服务器端文件处理。这是一个涉及前端和后端交互的综合过程,需要良好的JavaScript和...
综上所述,EXTJS 的上传组件是构建Web应用中不可或缺的一部分,它提供了丰富的配置选项和事件,使得文件上传操作既简单又灵活。开发者可以根据实际需求,通过调整配置、编写事件处理器以及利用EXTJS的其他组件和工具...
"JSP extjs upload 上传程序.rar"这个资源正是这样一个示例,它展示了如何在JSP中集成EXTJS 2.2版本来实现文件上传功能。 首先,EXTJS 2.2是EXTJS的一个较早版本,但仍然包含了创建动态、响应式用户界面所需的核心...
在实际项目中,进度条常用于文件上传、数据加载或任何需要告知用户任务进度的场景。例如,当用户点击“上传”按钮时,可以启动一个后台进程,并同步更新进度条。 6. **HTML文档和源代码**: 提供的"Extjs进度条....
通过这个项目,你可以学习到EXTJS的组件使用、JSP的后端处理、文件上传处理、Excel数据解析以及与Oracle数据库的交互。这是一个很好的实践案例,对于提升前后端开发技能非常有帮助。如果你遇到困难,可以加入描述中...
以上就是EXTJS文件上传的前端实现及后台Java处理的详细过程。在实际应用中,还需要考虑错误处理、文件存储策略、安全性等问题,例如限制文件大小、检查文件类型、防止重复上传等。同时,对于大量文件上传,可能需要...
本篇文章将聚焦于"Ext上传文件例子(入门)",通过一个简单的实例来讲解如何在ExtJS框架下实现文件上传功能。 首先,我们要理解文件上传的基本原理。在Web应用中,文件上传通常依赖于HTML的`<input type="file">`元素...
以下是一个简单的示例代码,展示了如何设置一个可拖放的区域并处理文件上传: ```html <!DOCTYPE html> 拖放上传 ; width: 300px; height: 200px; text-align: center;"> 拖放文件到这里 document....