`
xinjie2009
  • 浏览: 3750 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ExtJs4 多附件上传组件

 
阅读更多
之前看了czpae86关于多附件上传的组件UploadPanel(http://czpae86.iteye.com/blog/1728408),自己下载后发现运行一直失败,
主要有以下两个问题:
1.后台无法接收到参数;
2.处理完成第一个问题后可以上传,但是上传完成后关闭窗口后会报错。
通过查看源代码得知第一个问题是因为upload_start_handler方法中调用了setFilePostName方法,这样导致后台的接收参数会动态变化(根据上传文件的名字)。所以这个方法最好去掉,我的这个方法如下:
var me = this.settings.custom_settings.scope_handler;
me.down('#cancelBtn').setDisabled(false);

然后在getSWFConfig的return中增加如下配置:
file_post_name: 'file'

这样我后台的接收名字就固定为file。具体可以参照uploadPanel中的后台代码。
第二个问题比较偶然,onRemove方法刚好和extjs默认销毁调用的方法重名导致。解决方案就是修改该方法的名字,例如onRemoveAll.另外重写beforeDestroy方法,将store置空:
beforeDestroy: function() {
        var me = this;
       me.store.removeAll();
        Ext.destroy(
            me.placeholder,
            me.ghostPanel
        );
        me.callParent();
    }


根据以上问题修改后的代码见附件。需要把uploadPanel中的Ext.define后的XX修改为自己的项目名称。UploadPanel中的upload_url修改为实际的上传action,uploadSuccess方法中从后台的返回值根据你的实际POJO类修改。

调用的话使用如下代码:
var uploadWin = Ext.create('XX.view.ux.UploadWin',{
	callback: function(file){
	    if (file != null){
		store.add(file);
	    }
	    uploadWin.close();
	},
	scope: this
}).show();

分享到:
评论
4 楼 jintt123 2016-11-02  
你好!我后台用的是C#一直上传失败,一直取不到后台参数,求解
3 楼 yajian_he 2016-03-29  
你好,我使用之后发现选择文件按钮点击无效,需要点击这个按钮右边边缘才能进入文件选择,能帮我解答下吗?
2 楼 xinjie2009 2015-08-11  
joesph 写道
swfupload文件夹放在什么位置?怎么引用swfupload.js?谢谢

这个看你自己的项目,我的项目是放在根目录下的,引用js的话直接在html页面上
<script type="text/javascript" src="swfupload/swfupload.js"></script>
就可以了。
1 楼 joesph 2015-07-30  
swfupload文件夹放在什么位置?怎么引用swfupload.js?谢谢

相关推荐

    extjs 4.2 多文件上传

    用Ext编写的多文件上传组件,已封装。 支持多文件上传,文件下载,文件删除,

    EXTJS3.0多文件上传组件

    在"EXTJS3.0多文件上传组件"中,我们主要关注的是如何利用EXTJS3.0的功能来实现一个高效的、用户友好的多文件上传功能。 首先,`swfupload.js`是Flash-Based的文件上传库,它允许用户在不离开当前页面的情况下进行...

    ExtJS原生多文件拖动上传组件

    ExtJS原生多文件拖动上传组件 使用时修改包路径 1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化...

    ExtJS 3.0 调用 swfupload 制作的多附件上传组件,带进度条

    在本文中,我们将深入探讨如何使用ExtJS 3.0框架与SWFUpload库结合,创建一个具有进度条功能的多附件上传组件。这个组件通常用于Web应用中,以提供用户友好的文件上传体验,特别是在处理大量文件或者需要实时显示...

    Structs2+ExtJs多文件上传,多选文件加入列表

    本教程将专注于使用Structs2和ExtJS实现多文件上传的功能,包括多选文件、进度条显示以及传输速度监控等特性。 Structs2是一个基于Java的MVC框架,它提供了灵活的控制器、模型和视图结构,简化了Web应用的开发过程...

    ext上传文件

    EXTJS提供了一套完整的用户界面组件,其中包括文件上传组件,它允许用户在Web应用中方便地上传文件。EXTJS通常与后端服务器进行交互,通过Ajax或者FormData技术将文件数据发送到服务器。 这篇名为“NULL”的描述...

    ext多文件上传

    首先,EXTJS中的`Ext.form.Panel`组件是实现多文件上传的基础。我们需要创建一个包含`Ext.form.FileField`的表单,这是EXTJS中用于处理文件输入的组件。在`FileField`中,我们可以通过设置`multiple`属性为`true`来...

    java extjs 仿163邮箱源码

    4. 文件附件支持:允许用户上传和下载附件。 5. 联系人管理:创建、编辑和管理联系人列表。 6. 日程管理:创建、提醒和管理日历事件。 7. 设置与个性化:用户可以根据喜好调整界面、通知和账户设置。 **joffice文件...

    oa.wxg.rar_extjs oa_extjs 权限_oa.wxg

    ExtJS提供了一系列的文件上传组件,如FileField和UploadPanel,可以轻松实现这一功能。 2. **数据日志**:系统记录用户操作日志,有助于追踪系统使用情况,排查问题或进行审计。开发者可以通过监听事件,结合服务器...

    Ext 多文件上传面板扩展

    "Ext 多文件上传面板扩展"是一个用于Web应用的组件,它允许用户同时上传多个文件。这个组件基于ExtJS库,一个广泛使用的JavaScript框架,用于构建富客户端应用程序。ExtJS提供了一个强大的组件模型,使得开发复杂的...

    _net+Extjs源码 实现文件的上传下载

    ExtJS提供了`FileUploadField`组件,可以与ASP.NET后端配合,实现异步文件上传。 总结来说,实现文件上传下载功能需要结合C#、ASP.NET、SQL和DBA等技术。后端处理文件上传、存储文件元数据并提供下载接口,前端则...

    UploadDialog3_x 下载

    在IT行业中,批量上传附件是常见的功能需求,特别是在企业级应用和协作平台中。`UploadDialog3_x`组件就是这样一个解决方案,专为Ext框架设计,旨在提供高效且用户友好的批量上传体验。Ext是一个强大的JavaScript...

    如何在服务器端 读取Ext.ux.UploadDialog上传的文件?

    Ext.ux.UploadDialog 是一个 ExtJS 框架的扩展组件,它提供了一个友好的用户界面来处理文件上传。在服务器端,我们需要正确解析接收到的请求,以便能够读取并处理上传的文件。在 Java 环境下,Apache Commons ...

    Jxstar系统管理手册V2.0.pdf

    - File:附件控件,允许用户上传文件; - FieldSet:信息分类栏,用于对表单进行分组; - Button:按钮控件,用于执行某些操作; - ToolBar:工具栏,展示业务功能操作按钮; - TreePanel:树形控件,用于显示层次...

Global site tag (gtag.js) - Google Analytics