`
279469669
  • 浏览: 3569 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

extjs多文件上传

 
阅读更多

    今天在做项目时遇到文件上传的问题,本想用SWFUpload这个东东来实现的,没想到在上传无法成功,折腾了一天也无果。

    上网查,有的说是flash10的缘故,不过我也不能因为那东西就不做了啊,再说,如果浏览器不支持flash的话就不能上传,那也太次了……

    于是乎,我又在网上搜寻着上传的插件,果然,被我发现了一个感觉不错的东西: Plupload。官方网站为http://www.plupload.com/  网站上的例子很实用。而且支持令人头痛的IE6,真是爽撒~

   效果附加在附件中。

    另外遇到了加载外部页面的问题,因为用extjs 的默认加载是不支持的,于是用到了iframe,见代码:

var win = new Ext.Window({
    		title:'文件上传',
    		iconCls:'db-icn-upload-local',
    		width:700,
    		height:348,
    		layout:'fit',
    		//resizable:false,
    		style:'margin:0;padding:0;',
    		items:[{
    			title:'',
    			header:false,
    			html:'<iframe id="frame" name="frame" src="paper/upload.jsp" width=100% height=100%/>',
    			boder:false
    		}]
    	}).show();
    

 upload.jsp代码为:

<%@ page language="java" contentType="text/html;charset=utf-8"%>
<html>
<head>
<!-- Load Queue widget CSS and jQuery -->
<link rel="stylesheet" type="text/css" href="../../plupload/js/jquery.plupload.queue/css/jquery.plupload.queue.css" />
<script type="text/javascript" src="../../plupload/js/browserplus-min.js"></script>
<script type="text/javascript" src="../../js/jquery.js"></script>
<script type="text/javascript" src="../../plupload/js/plupload.full.js"></script>
<script type="text/javascript" src="../../plupload/js/jquery.plupload.queue/jquery.plupload.queue.js"></script>

<script type="text/javascript">

$(function() {
	var result = true;
	var failCount = 0;
	$("#uploader").pluploadQueue({
		// General settings
		runtimes : 'html5,gears,flash,silverlight,browserplus',//支持环境,优先级为从左到右
		url : 'uploadFiles',//上传地址
		max_file_size : '100000mb',//设定上传文件最大尺寸
		//chunk_size : '1mb',
		unique_names : true,

		// Flash settings
		flash_swf_url : '../../plupload/js/plupload.flash.swf',

		// Silverlight settings
		silverlight_xap_url : '../../plupload/js/plupload.silverlight.xap',

		// Post init events, bound after the internal events
		init : {
			/*StateChanged: function(up) {
				alert("状态更新");
			},*/
			UploadComplete: function(up,file){
				if(result){
					alert("上传成功");
				}else{
					alert(failCount+"个文件上传失败");
				}
			},

			Error: function(up, args) {
				result = false;
				failCount++;
			}
		}
	});

	// Client side form validation
	$('form').submit(function(e) {
        var uploader = $('#uploader').pluploadQueue();
		uploader.bind('Refresh', function() {
                alert("sdfdfsdf");
            });
        // Files in queue upload them first
        if (uploader.files.length > 0) {
            // When all files are uploaded submit form
            uploader.bind('StateChanged', function() {
                if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) {
                    $('form')[0].submit();
                }
            });
            
                
            uploader.start();
        } else {
            alert('至少选择一个文件上传。');
        }

        return false;
    });
});
</script>
</head>
<body>

<form action="uploadFiles">
	<div id="uploader">
		<p>您的浏览器不支持Flash, Silverlight, Gears, BrowserPlus 或者 HTML5 ,无法上传.</p>
	</div>
</form>

</body>
</html>	
 

  • 大小: 30.8 KB
分享到:
评论
1 楼 n15865386136 2013-06-05  
你找的这个也需要flash吧

相关推荐

    Extjs多文件上传

    在“Extjs多文件上传”这个主题中,我们将深入探讨如何使用ExtJS实现一个支持自由添加和减少上传文件个数的多文件上传功能。 首先,ExtJS的文件上传功能通常依赖于其组件系统,特别是`Ext.form.FileField`(也称为`...

    EXTJS 多文件上传

    在EXTJS中,`MultiFileUploadField` 是一个组件,它允许用户在单个操作中选择并上传多个文件,极大地提升了用户交互体验。这个功能对于处理大量文件上传的场景非常有用,比如在内容管理系统、图像库或者文件分享平台...

    ExtJS 多文件上传 UploadDialog For ExtJS3.x

    ### ExtJS 多文件上传 UploadDialog For ExtJS3.x #### 概述 在Web开发领域,特别是使用ExtJS框架进行界面设计时,文件上传功能是必不可少的一部分。然而,随着ExtJS版本的更新,原有的多文件上传组件可能不再兼容...

    extjs 多文件上传

    在ExtJS中实现多文件上传功能,能够极大地提升用户体验,特别是在处理大量数据或文件时。本篇文章将详细探讨如何使用ExtJS实现多文件上传,并涵盖相关的关键知识点。 一、ExtJS 文件上传组件 在ExtJS中,我们可以...

    extjs 多文件上传控件

    在ExtJS中,多文件上传控件是开发人员常用的一种功能,用于在网页上实现批量上传多个文件。这种控件允许用户一次性选择并上传多个文件,极大地提升了用户体验。 在ExtJS中实现多文件上传,主要涉及到以下几个关键...

    extjs 4.2 多文件上传

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

    extjs 多文件上传代码实例

    多文件上传是现代Web应用中一个常见的需求,它允许用户一次性选择并上传多个文件,提高了用户体验。 首先,我们要了解ExtJS中的FileField组件。FileField是用于文件上传的基本元素,它提供了一个...

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

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

    ExtJS4多文件上传,带进度条及管理

    本文将详细解析"ExtJS4多文件上传,带进度条及管理"这一主题,涵盖其核心概念、实现方式以及相关技术。 **一、ExtJS4概述** ExtJS4是Sencha公司推出的一个前端框架,它提供了丰富的组件库和强大的数据绑定机制,...

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

    1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化选择文件列表源 initStore(files) //base64路径转...

    批量上传文件 EXTJS文件上传 上传组件

    EXTJS的文件上传组件提供了方便的方式来处理这些任务,允许用户一次性选择多个文件进行上传,极大地提高了工作效率。 批量上传文件的核心在于利用HTML5的File API,这个API允许前端程序对用户的本地文件进行操作,...

    ExtJS验证上传文件类型

    ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出错误提示呢?这篇文章将详细...

    EXTJS3.0多文件上传组件

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

    Extjs4文件上传,后台struts2

    在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...

    ExtJS实现多文件上传UploadDialog For ExtJS3.x

    在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...

    extjs5.1多文件上传控件

    标题中的“ExtJS5.1多文件上传控件”指的是在Web应用中使用ExtJS框架的一个功能组件,它允许用户一次选择并上传多个文件。ExtJS是一个强大的JavaScript库,专门用于构建富客户端的桌面级Web应用程序。在版本5.1中,...

    ExtJS带进度条的多文件上传和图片预览

    2. **多文件上传**:多文件上传功能允许用户一次选择并上传多个文件,提高了用户体验。在ExtJS中,这通常通过`Ext.form.FileField`(文件选择字段)的`multiple`属性实现,配合HTML5的`&lt;input type="file" multiple&gt;...

Global site tag (gtag.js) - Google Analytics