前端:
var uploadForm=Ext.create('Ext.form.Panel', {
region: 'center',
bodyStyle : 'padding: 0px 0px 0 0px; background-color: #DFE8F6',
margin: '0 0 0 0',
xtype: 'form',
method : 'POST',
fileUpload: true,
split: true,
//autoScroll:true,
//collapsible: true,
layout : {
type : 'table',
columns: 1
},
bodyStyle: 'background:#DFE8F6; ',
fieldDefaults: {
labelAlign: 'right',
labelWidth: 45,
width:300,
msgTarget: 'side',
padding:10
},
items: [
{
id:"question.questionId_upload",
xtype:"textfield",
name: 'question.questionId',
hidden:true
},
{
//xtype:'filefield',
id:'upload',
inputType : "file",
xtype : 'textfield',
emptyText: '请选择附件',
//allowBlank: false,
fieldLabel : '附件',
buttonText:"浏览",
name : 'file'
}
],
buttons: [
{
text: '确定',
listeners : {
click : function(btn, e, eOpts) {
if (uploadForm.getForm().isValid()) {
Ext.Msg.confirm("请确认?","确定上传?", function(button,text){
if(button=='yes'){
Ext.yh.form.submit({"form":uploadForm,
"url": basePath+'/system/uploadFile.action',
success : function(options_) {
//成功
//alert("----"+options_.result.entity.contentStr);
Ext.getCmp("question.questionId").setValue(options_.result.entity.questionId);
Ext.getCmp("question.questionId_upload").setValue(options_.result.entity.questionId);
win_2.hide();
},
failure : function(options_) {
//失败
win_2.hide();
}
});
}else{
return false;
}
});
}
}
}
},
{
text:"关闭",
xtype:'button',
handler:function(){
win_2.hide();
}
}
]
});
注意事项:panel中必须设置为fileUpload: true
后台Action:
/**
* 上传文件
* @return
*/
public String saveQuestion() throws Exception{
//try {
result = new ExtResult();
System.out.println(file);
if(file!=null){
question.setFileName(fileFileName);
String fileType[]=fileFileName.split("\\.");
question.setFileType(fileType[1]);
question.setQuestionFiles(getBytesFromFile(file));
}
questionService.saveOrUpdate(this.getUser(), question);
result.setEntity(question);
result.setMsg(Constants.OPT_SUCCESS);
//} catch (Exception e) {
// TODO: handle exception
//erro(e);
//}
return SUCCESS;
}
配置文件XML:
<action name="uploadFile" class="com.org.web.system.action.QuestionAction" method="saveQuestion">
<result name="success" type="json">
<param name="root">result</param>
<param name="contentType">text/html;charset=utf-8</param>
<param name="excludeProperties">null</param>
</result>
</action>
分享到:
相关推荐
本项目“extjs3.2+struts2实现多文件上传excel并插入到数据库”是针对这一需求的具体解决方案,利用了ExtJS 3.2前端框架和Struts2后端框架进行开发。 **ExtJS 3.2** 是一个基于JavaScript的富客户端应用框架,提供...
在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...
1. 用户通过ExtJS界面选择文件,SwfUpload插件将这些文件添加到上传队列。 2. 用户点击上传按钮,SwfUpload开始异步上传文件,同时在界面上显示上传进度。 3. Java服务器接收到上传请求,对每个文件进行验证,如检查...
标题中的“ExtJs2.0 SSH 实现简单结构与上传文件 数据库同步树形结构”表明了这个项目的核心特性。首先,`ExtJs2.0`用于构建用户界面,尤其是树形结构展示,这在数据管理中十分常见,如组织架构、文件目录等。树形...
这通常涉及解析上传的数据(可能是多部分表单数据),并将文件保存到磁盘或数据库。服务器端代码取决于你所使用的语言和框架,如PHP、Node.js、Python等。 6. **进度条与反馈**:EXTJS 提供了`progress`事件,可以...
- 服务器端:在ASP.NET中,C#代码会接收到请求,通过`Request.Files`集合获取上传的文件,然后可以保存到服务器的特定位置或者数据库。 4. **安全考虑**: - 需要限制文件大小和类型,防止DoS攻击和恶意文件上传...
【标题】"extjs swfupload .net 多文件带进度条上传"涉及的核心技术是前端的EXTJS框架、后端的ASP.NET平台以及中间的文件上传组件SWFUpload。这种组合允许用户在Web应用中实现批量文件上传并显示上传进度,提供了...
这个压缩包文件的内容看起来是一个完整的EXTJS项目,包含了数据库交互、动态树结构和菜单功能,并且集成了SpringMVC后端框架以及JDBC数据访问层。 1. **EXTJS动态树**: EXTJS的动态树(TreePanel)组件允许开发者...
在文件上传场景中,ExtJS4的表单组件和上传插件是关键,允许用户选择本地文件并将其发送到服务器。 1. **ExtJS4的上传组件:** `Ext.form.field.File`(或称为`FileField`)是用于创建文件输入字段的组件,用户可以...
`ExtJS`是一个流行的JavaScript库,用于构建富客户端界面,而`SWFUpload`则是一个经典的Flash插件,用于实现文件上传,尤其适用于批量上传。这里我们将深入探讨如何在Java环境中,结合Struts2、Spring(s2sh框架)...
6. **文件上传下载**:文件的上传和下载涉及到文件流处理和IO操作。Spring提供了文件上传的支持,而文件下载可以通过设置响应头来控制,如Content-Disposition和Content-Type,以实现文件的下载。 7. **用户管理**...
1. **文件上传**:EXTJS提供了异步上传组件,用户可以通过拖放或选择文件按钮来上传文件。文件上传过程中通常会有进度条显示,以反馈上传状态。 2. **文件浏览器/树形结构**:EXTJS的树形视图组件可用于展示文件夹...
此压缩包中完全能实现的功能是在extjs中让本地照片预览,并且将地址传递给java后台,将图片文件以blob的形式存储到oracle数据库,并且可以默认将数据库中的数据第一次加载在预览框里(也就是从数据库中读出blob数据...
1. **文件上传**:用户可以方便地上传单个或批量文件,系统会自动处理文件的存储和元数据的记录。 2. **图片预览**:支持多种图片格式的在线预览,提供缩略图和全尺寸查看模式。 3. **分类管理**:用户可以创建...
此压缩包中完全能实现的功能是在extjs中让本地照片预览,并且将地址传递给java后台,将图片文件以blob的形式存储到oracle数据库,并且可以默认将数据库中的数据第一次加载在预览框里(也就是从数据库中读出blob数据...
综上所述,`.NET+ExtJS`实现文件上传下载涉及到的技术点包括:C#中的文件操作、ASP.NET的HTTP处理程序、`ExtJS`的Ajax表单提交、HTTP响应头的设置以及数据库中的BLOB存储。这些技术共同构成了一个完整的文件管理解决...
在“EXTJS做的EXCLE导入ORACL”这个项目中,EXTJS被用来实现一个用户界面,允许用户上传Excel文件并将其数据导入到Oracle数据库中。EXTJS提供了丰富的组件库,包括表格、表单、按钮等,使得构建复杂的交互式前端应用...
在文件管理系统中,EXTJS 可以用来创建直观的文件浏览器界面,包括文件的上传、下载、移动、删除等操作。EXTJS 的 GridPanel 和 TreePanel 可以用于展示文件目录结构和文件列表,同时支持拖放操作。 3. **图片管理...
在文件上传的场景下,Hibernate可能被用来将上传文件的信息(如文件名、大小、上传时间等)持久化到数据库中,以便后续查询和展示。此外,如果文件内容也需要存储在数据库中,Hibernate也可以协助完成。 4. 文件...
在文件上传部分,EXTJS的FileField组件允许用户选择文件,然后通过Ajax提交到Struts2的Action,Action接收到文件后,可以使用Apache的Commons FileUpload库进行解析并保存到服务器。分页功能则是EXTJS Grid Panel与...