今天在做项目时遇到文件上传的问题,本想用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
分享到:
相关推荐
在“Extjs多文件上传”这个主题中,我们将深入探讨如何使用ExtJS实现一个支持自由添加和减少上传文件个数的多文件上传功能。 首先,ExtJS的文件上传功能通常依赖于其组件系统,特别是`Ext.form.FileField`(也称为`...
在EXTJS中,`MultiFileUploadField` 是一个组件,它允许用户在单个操作中选择并上传多个文件,极大地提升了用户交互体验。这个功能对于处理大量文件上传的场景非常有用,比如在内容管理系统、图像库或者文件分享平台...
### ExtJS 多文件上传 UploadDialog For ExtJS3.x #### 概述 在Web开发领域,特别是使用ExtJS框架进行界面设计时,文件上传功能是必不可少的一部分。然而,随着ExtJS版本的更新,原有的多文件上传组件可能不再兼容...
在ExtJS中实现多文件上传功能,能够极大地提升用户体验,特别是在处理大量数据或文件时。本篇文章将详细探讨如何使用ExtJS实现多文件上传,并涵盖相关的关键知识点。 一、ExtJS 文件上传组件 在ExtJS中,我们可以...
在ExtJS中,多文件上传控件是开发人员常用的一种功能,用于在网页上实现批量上传多个文件。这种控件允许用户一次性选择并上传多个文件,极大地提升了用户体验。 在ExtJS中实现多文件上传,主要涉及到以下几个关键...
用Ext编写的多文件上传组件,已封装。 支持多文件上传,文件下载,文件删除,
多文件上传是现代Web应用中一个常见的需求,它允许用户一次性选择并上传多个文件,提高了用户体验。 首先,我们要了解ExtJS中的FileField组件。FileField是用于文件上传的基本元素,它提供了一个...
本教程将专注于使用Structs2和ExtJS实现多文件上传的功能,包括多选文件、进度条显示以及传输速度监控等特性。 Structs2是一个基于Java的MVC框架,它提供了灵活的控制器、模型和视图结构,简化了Web应用的开发过程...
本文将详细解析"ExtJS4多文件上传,带进度条及管理"这一主题,涵盖其核心概念、实现方式以及相关技术。 **一、ExtJS4概述** ExtJS4是Sencha公司推出的一个前端框架,它提供了丰富的组件库和强大的数据绑定机制,...
1.多文件上传 2.支持拖动上传 3.支持图片压缩 4.支持图片合并 5.文件排序 可扩展实时图片预览 api //初始化画板 initCanvas //上传文件窗口 uploadWindow //初始化选择文件列表源 initStore(files) //base64路径转...
EXTJS的文件上传组件提供了方便的方式来处理这些任务,允许用户一次性选择多个文件进行上传,极大地提高了工作效率。 批量上传文件的核心在于利用HTML5的File API,这个API允许前端程序对用户的本地文件进行操作,...
ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出错误提示呢?这篇文章将详细...
在"EXTJS3.0多文件上传组件"中,我们主要关注的是如何利用EXTJS3.0的功能来实现一个高效的、用户友好的多文件上传功能。 首先,`swfupload.js`是Flash-Based的文件上传库,它允许用户在不离开当前页面的情况下进行...
在本文中,我们将深入探讨如何使用ExtJS 4与Struts2框架实现文件上传功能。ExtJS是一个强大的JavaScript库,提供了丰富的用户界面组件,而Struts2是Java Web开发中的一个MVC框架,用于处理后端业务逻辑。下面,我们...
在本文中,我们将深入探讨如何使用ExtJS 3.x实现多文件上传功能,结合Struts2框架进行数据处理。首先,我们需要确保环境配置正确。在描述中提到,我们需要将一系列Struts2相关的库文件复制到项目的`WebContent\lib`...
标题中的“ExtJS5.1多文件上传控件”指的是在Web应用中使用ExtJS框架的一个功能组件,它允许用户一次选择并上传多个文件。ExtJS是一个强大的JavaScript库,专门用于构建富客户端的桌面级Web应用程序。在版本5.1中,...
2. **多文件上传**:多文件上传功能允许用户一次选择并上传多个文件,提高了用户体验。在ExtJS中,这通常通过`Ext.form.FileField`(文件选择字段)的`multiple`属性实现,配合HTML5的`<input type="file" multiple>...