日期:2014-05-16  浏览次数:20473 次

Extjs3.3 + swfUpload2.2 实现多文件上传组件

【该上传组件已经停止更新,该上传组件已经在项目中使用。在使用过程中如果发现bug请大家回复此贴。2011-02-27】

主要是为了用swfUpload实现上传,为了新鲜好玩。

理解swfUpload可以上网查找,以下是在网上找到,个人觉得解释比较全面的文章:

http://blog.endlesscode.com/2010/03/26/swfupload%E6%B5%85%E6%9E%90/

?

请下载最新版的,最近修改了几个问题

?

经过研究,结合Extjs3.3做了以下组件:



?

?

本上传组件最新修改为v1.1,加入了状态和行删除。


?

最新版本为v1.2,修改了上传状态和进度不同步的bug


?

后台返回说明:


?

?

.add{
    background-image: url(images/add.gif) !important;
}
.up{
    background-image: url(images/up.gif) !important;
}

.delete{
    background-image: url(images/delete.gif) !important;
}
.delete2{
    background-image: url(images/delete2.gif) !important;
}

?

Ext.onReady(function(){
	Ext.QuickTips.init();
	new Ext.Window({
		width : 650,
		title : 'swfUpload demo',
		height : 300,
		layout : 'fit',
		items : [
			{
				xtype:'uploadPanel',
				border : false,
				fileSize : 1024*50,//限制文件大小
				uploadUrl : 'uploadFiles.action',
				flashUrl : 'swfupload.swf',
				filePostName : 'file', //后台接收参数
				fileTypes : '*.*',//可上传文件类型
				postParams : {savePath:'upload\\'} //上传文件存放目录
			}
		]
	}).show();
});

?

?

最新代码请下载附件!uploader_v1.2.rar

?

当然还有没有完善的地方,请大家自由发挥吧!

同时发表于Extjs官方网:http://www.sencha.com/forum/showthread.php?118058-UploadPanel(Extjs3.0-swfUpload)

?

转载请注明出处:http://czpae86.iteye.com/

?

85 楼 szkdsz 2012-02-24  
你好,我这个关于ext的包什么的都加进去了,在本一点添加文件按钮没有弹出选择文件对话框,但是我部署的tomcat服务器中去就可以了,这是什么原因呢
86 楼 qiliannujian 2012-02-27  
szkdsz 写道
你好,我这个关于ext的包什么的都加进去了,在本一点添加文件按钮没有弹出选择文件对话框,但是我部署的tomcat服务器中去就可以了,这是什么原因呢


那个框是flash的插件 在option里面注意其路径,如果那个插件没加载,就歇菜了
87 楼 guo_xp 2012-02-29  
79楼的朋友,你遇到的问题我今天也遇到了。在ExtJS 4.0.7下,把该语句修改为:

Ext.getCmp("myToolbar").items.get(0).el.child('em')

可以顺利执行。但我还没进一步测试。
88 楼 wilsonchen 2012-03-19  
楼主您好,请教一个问题:
swfupload文件应该放在项目的哪里呢?我是把它放在extjs的目录下,然后我的jsp页面是放在web-inf下,但当我点击新增文件的时候,老是提示我找不到swfupload.swf文件,这是怎么回事 呢?
89 楼 lpan22 2012-03-19  
楼主你好,我使用你的这个控件在IE下弹出一个窗口,但是关闭窗口口会出现JS的脚本错误!
不知道你们用有没有这个问题?初步估计是没有销毁掉flash控件的问题。求解啊。
90 楼 lpan22 2012-03-19  
lpan22 写道
楼主你好,我使用你的这个控件在IE下弹出一个窗口,但是关闭窗口口会出现JS的脚本错误!
不知道你们