该上传组件已经在项目中使用,分为两个模式,一种是弹出一个window;
对上传文件进行控制:
点击开始上传提示
上传成功后可以进行打包下载
另一种是直接嵌入到面板中。
入续会贴过来。
HM={};
HM.themis={};
HM.themis.FileUploadMgr={}
HM.themis.FileUploadMgr = {
fileUploadFormWin : undefined,
// linkInfoFormWin : undefined,
// reportFormWins : undefined,
// fsa : undefined,
showAttachmentsUrl: 'sysFile_getFileList.action',
uploadUrl:'sysFile_uploadFile.action',
downloadUrl:'sysFile_downFile.action',
deleteUrl: 'sysFile_deleteByLogic.action',
relationId:'id',
fileNum:0,
invalidTypeMsg : '不能下载还未上传的文件!',
zipFileName :'打包下载文件',
title:'title',
warnMsgTitle : '警告',
sort:'document',
width : 520,
height : 340,
viewFlag:false,
show : function(id) {
Ext.ux.UploadDialog.EnableFileCount=this.fileNum;
if(!this.permitted_extensions) {
this.permitted_extensions = Ext.harmony.util.SystemConfig.allowFileTypes;
}
this.fileUploadFormWin = new Ext.ux.UploadDialog.Dialog({
autoCreate : true,
closable : true,
modal : true,
collapsible : false,
draggable : true,
minWidth : 380,
minHeight : 220,
width : this.width,
height : this.height,
proxyDrag : true,
permitted_extensions:this.permitted_extensions,
viewFlag : this.viewFlag,
zipFileName : this.zipFileName,
resizable : true,
post_var_name : 'file',
constraintoviewport : true,
title : this.title,
deleteUrl : this.deleteUrl,
url : this.uploadUrl,
base_params: {relationId:this.relationId,sort:this.sort},
reset_on_hide : true,
allow_close_on_upload : true
});
this.fileUploadFormWin.show();
this.initData(this.relationId);
},
// hide : function() {
// this.fileUploadFormWin.hide();
// },
initData : function(infoId) {
this.fileUploadFormWin.grid_panel
.on("rowdblclick", this.download, this);
Ext.Ajax.request({
url : this.showAttachmentsUrl,
params : {relationId: infoId,sort:this.sort},
method : "POST",
// form : this.form,
// isUpload : true,
success : this.onAjaxSuccess,
failure : this.onAjaxFailure,
scope : this
});
},
onAjaxSuccess : function(response, options) {
var json_response;
try {
var rt = response.responseText;
var filter = rt.match(/^<[^>]+>((?:.|\n)*)<\/[^>]+>$/);
if (filter) {
rt = filter[1];
}
json_response = Ext.util.JSON.decode(rt);
} catch (e) {
return;
}
var store = this.fileUploadFormWin.grid_panel.getStore();
var button_container = this.fileUploadFormWin.el.child(".x-btn-center");
button_container.position("relative");
var myinput_file = Ext.DomHelper.append(button_container, {
tag : "input",
type : "file",
size : 1,
name : 'files',
style : "position: absolute; display: none; border: none; cursor: pointer"
}, true);
for (var i = 0; i < json_response.datas.length; i++) {
store.add(new Ext.ux.UploadDialog.FileRecord({
state : Ext.ux.UploadDialog.FileRecord.STATE_FINISHED,
filename : json_response.datas[i].fileName,
note : "已上传",
input_element : myinput_file,
id : json_response.datas[i].id
}));
}
this.fileUploadFormWin.changeAddStat();
this.fileUploadFormWin.changeDownZipStat();
},
download : function(gridObj, rowIndex, e ) {
var selRecord = gridObj.getStore().getAt(rowIndex);
var id = selRecord.get("id");
if (selRecord.get("state") == Ext.ux.UploadDialog.FileRecord.STATE_FINISHED && id) {
document.location.href=this.downloadUrl + "?id=" + id;
} else {
Ext.Msg.alert(this.warnMsgTitle, this.invalidTypeMsg);
return;
}
// var array = this.fileUploadFormWin.grid_panel.getSelectionModel()
// .getSelections();
// for (var i = 0; i < array.length; i++) {
// if (array[i].get("id") == undefined) {
// Ext.Msg.alert(this.warnMsgTitle, this.invalidTypeMsg);
// return;
// }
//// document.location.href = this.downloadUrl + "?id="
//// + array[i].get("id");
// window.open(this.downloadUrl + "?id="
// + array[i].get("id"));
// }
}
};
HM.themis.FileUploadWin = function(config) {
Ext.apply(this, config);
}
- 大小: 19.3 KB
- 大小: 31.2 KB
- 大小: 24.1 KB
- 大小: 30 KB
- 大小: 25.8 KB
分享到:
相关推荐
- 在ExtJS 2.x版本中实现的多文件上传功能通常无法直接应用于3.x版本。 - 需要对原有代码进行修改,确保其能够在新版本中正常运行。 2. **UploadDialog组件** - `UploadDialog`是一种用于实现文件上传功能的...
ExtJS 3.x Upload上传组件是基于ExtJS 3.x版本的一个功能强大的文件上传工具,它为Web应用程序提供了用户友好的界面和灵活的文件管理功能。这个组件在Web开发中非常实用,尤其对于需要处理大量文件上传的项目,如...
ExtJS 3.x 和 SWFUpload 是两种不同的技术,它们结合使用可以实现高效的多文件上传功能。这篇内容将深入解析这两个技术以及它们如何协同工作。 **ExtJS 3.x** ExtJS 是一个流行的JavaScript库,主要用于构建富...
综上所述,实现ExtJS 3.x的多文件上传功能,需要结合Struts2框架,完成前后端的配置、实体模型的定义、Action的编写,以及ExtJS组件的使用。这一过程涉及到了HTTP文件上传、JSON数据交换、数据库操作等多个技术点,...
### Extjs中文教程2.x 知识点概览 #### 一、Extjs简介与准备工作 **1.1 Extjs概述** - **定义**: Extjs 是一个基于 JavaScript 的开源前端框架,用于构建交互式 Web 应用程序。 - **特点**: 提供丰富的 UI 组件、...
2. **进度条显示**:在文件上传过程中,组件会显示每个文件的上传进度,使用户了解当前上传状态,增强用户体验。 3. **错误处理**:当某个文件上传失败时,组件通常会提供错误提示,并允许用户重新上传失败的文件,...
3. **文件管理组件**:系统可能包含文件列表、文件上传和下载、文件夹操作等功能,这需要利用到ExtJS的GridPanel、FormPanel等组件。例如,GridPanel可以用来展示文件列表,FormPanel可以用于文件上传表单。 4. **...
4. **文件管理功能**:dogdisk的核心功能包括文件上传、下载、删除、重命名和移动。这些操作通常通过AJAX异步技术实现,使得用户在不刷新页面的情况下即可完成,提高了用户体验。 5. **安全与权限管理**:一个完整...
6. **文件管理器(File Manager)**:模拟文件系统的界面,允许用户进行文件的浏览、上传和下载。 7. **菜单和工具栏(Menus and Toolbars)**:提供应用的操作入口,包括下拉菜单、浮动工具栏等。 8. **数据存储...
UploadDialog是ExtJS中一个组件,用于实现文件上传功能,通常与表单配合使用,为用户提供友好的界面交互。在ExtJS 2.x版本中,UploadDialog已经被广泛使用,但随着版本升级,对于ExtJS 3.2.1这样的较新版本,官方并...
不多说,如果你需要学习Extjs或者是不懂Extjs,这门视频能对你有很大的帮助,文件过大,上传乃是下载链接,下面上目录: 1、ExtJs初识及其环境搭建 2、开始ExtJs梦想之旅# n8 }: ~+ d4 X+ V1 c 3、ExtJS工具栏、菜单...
本文将详细介绍如何利用SSH2(Struts2 + Spring + Hibernate)框架结合ExtJS前端库实现文件上传功能。具体包括前端界面设计、JavaScript交互逻辑以及后端处理流程。 #### 二、前端实现 ##### 1. 前台页面设计 **...
FancyUpload是一个采用Flash与Ajax(MooTools)技术实现包含上传进度条的多文件上传组件,类似于SWFUpload。 2. SwfUploadPanel (演示地址) SwfUploadPanel是一个结合SwfUpload v2.0.2与ExtJS 2.0.x开发的多文件上传...
3. **Struts2**:是MVC架构的实现,2.x版本强化了动态类型处理、文件上传等功能,同时与Spring和Hibernate有良好的集成性。 4. **ExtJS**:一个用于构建Web应用程序的JavaScript库,2.X版本提供了丰富的UI组件和数据...
- **fileUpload**: 是否启用文件上传功能。 - **timeout**: 动作的超时时间,默认为30秒。 - **trackResetOnLoad**: 是否在加载时清除表单数据。 **方法** - **doAction(String/Object actionName, [Object options...
如果直接在本地文件系统中打开HTML文件,由于同源策略的限制,某些资源可能无法加载,因此建议将文件上传至本地服务器或使用像Apache或Nginx这样的开发环境。 ExtJS 4.1.1中的主要亮点可能包括: 1. **MVC架构**:...
ExtJS的FileUploadField是用于实现文件上传功能的一个组件,它是ExtJS库中的一种扩展插件,位于examples/ux文件夹下。FileUploadField通常与表单(FormPanel)一起使用,允许用户选择本地文件并将其上传到服务器。...
Ext3_FileUpload是基于JavaScript库ExtJS 3.x版本的一个组件,主要用于实现Web应用程序中的文件上传功能。在ExtJS框架中,它提供了用户友好的界面和便捷的API,使得开发者可以轻松地集成文件上传到自己的应用程序中...
ExtJS是一种广泛应用于开发富客户端Web应用的JavaScript框架,它提供了丰富的组件库和强大的数据管理功能。在ExtJS中,图标(Icon)是界面设计的重要元素,能够为按钮、菜单项和其他UI组件添加视觉提示,增强用户...