长久以来,在客户端上传大文件,总是受到客户端环境限制,导致大文件处理上总是不够理想。能处理比较好的上传大附件控件,基本上都需要付费或者是不开源控件,使得我们难以扩展,不方便按照自已需要应用到项目中。当SWFUpload 出现,改变了我们之前遇到的困境。
SWFUpload 简介
SWFUpload 结合了FLASH和JavaScript的功能,以提供一种超越了传统的浏览器中<input type="file" />标签提供的文件上传功能。SWFUpload提供的主要功能:
在文件选择对话框中能够进行文件多选
页面无刷新的上传
提供上传进度的事件回调,实时显示上传进度
在文件上传的同时能够发送额外的POST数据
支持单文件、多文件的文件的选择
文件入队数量,文件上传数量和文件大小的限制
对FLASH 9和FLASH 10播放器的支持(V2.2.0版本放弃了对Flash 8的支持)
SWFUpload背后的设计思想和其它基于Flash的上传工具是不同的。它将浏览器的中UI交给开发人员来控制。开发人员能够利用
XHTML,CSS,Javascript来定制符合他们网站风格的UI上传元素。然后使用它提供的一组简单的JS事件来更新上传状态,开发人员能够利用
这些事件来及时更新页面中的上传进度UI。SWFUpload提供API供开发者通过图片、文字、CSS的方式来自定制更灵活的UI显示。
总之, SWFUpload提供更加灵活的自定义,开发人员可控制;SWFUpload借助了FLASH第三方资源上传,成功解决上传大附件过程,占用大量客户端资源,直至当前线程终止问题。
SWFUpload并不是拖放式的上传控件,它需要JavaScript和DOM的知识。
SWFUpload由4部分组成:
初始化和设置(Javascript)
JavaScript 库:SWFUpload.js
SWFUpload.swf(V2.2.0版本放弃了对flash 8的支持)
事件处理(Javascript)
SWFpload必须在页面中初始化,一般可以在window.onload事件中完成此操作。它的构造函数需要一个Object类型的设置对象。
这个设置对象一般是一个直接定义的Object类型变量,直接传递给SWFUpload的构造函数。初始化和设置具体实例如下:
var swfu;
window.onload = function () {
swfu = new SWFUpload({
upload_url : "http://www.bb.com/upload.aspx ",
flash_url : "http:// www.bb.com
/swfupload.swf",
button_placeholder_id : "spanSWFUploadButton",
file_size_limit : "20480"
});};
开
发人员还要必须定义一系列JavaScript函数来处理SWFUpload事件回调,当一些不同的重要事件发生的时候,这些函数会被触发。通过处理
SWFUpload的事件,开发人员能够提供关于上传进度、出错信息以及上传完成等的信息反馈。SWFUpload更加详细初始化事件或属性,可以访问官
方:http://www.swfupload.org/
资源:
官方:http://www.swfupload.org/
SWFUpload V2.2.0文档:http://www.v-sky.com/doc/swfupload/Documentation.html
或 http://baike.baidu.com/view/1332553.htm
分享到:
相关推荐
在本例中,`SWFUpload+COS 上传组件+Servlet 实现大附件上传`,Servlet是Java Web开发中的一个关键组件,负责处理服务器端的请求。SWFUpload上传的文件会被发送到Servlet,Servlet再处理这些文件并将它们保存到COS中...
在.NET环境中,我们可以利用SwfUpload来创建高效、友好的文件上传功能。通过提供的源码`SwfupLoadDemo`,开发者可以深入学习和理解SwfUpload的实现细节,以及如何与.NET环境无缝集成,从而为自己的项目打造类似的...
SWFUpload是一个免费、开源的JavaScript库,它利用Flash技术实现非阻塞式的文件上传功能。通过在浏览器后台运行,SWFUpload能够在不影响用户交互的情况下,进行多文件的批量上传。它支持预览、进度条显示、断点续传...
SwfUploadNet是一款基于Flash的.NET多附件上传控件,它允许用户在Web应用程序中实现高效、用户友好的批量文件上传功能。SwfUpload利用了Adobe Flash Player的广泛兼容性,为用户提供了一种无需离开页面就能上传多个...
它的核心优势在于可以实现多文件选择和预览,同时支持进度条显示,使得大文件上传过程更可控。SwfUpload通过Flash与JavaScript的交互,能够在不支持HTML5的老旧浏览器上实现类似HTML5的文件上传功能。 jQuery则是一...
在这个基于SwfUpload的上传实例中,我们将深入探讨如何实现这个功能,以及如何达到仿QQ邮箱附件的效果。 首先,SwfUpload 的核心功能是利用Flash技术实现文件的后台上传,避免了传统HTML表单提交导致页面刷新的问题...
下面将详细讲解SwfUpload的工作原理、实现多附件上传和进度条的功能,以及如何在Java环境下整合SwfUpload。 1. SwfUpload简介: SwfUpload是一个开源项目,它利用了Flash技术的优势来解决传统HTML文件上传的限制。...
在“swfupload附件上传”这个主题中,我们将深入探讨SWFUpload的工作原理、配置方法以及实际应用中的关键知识点。 1. **工作原理**:SWFUpload利用了Flash的跨域特性,使得用户可以选择并上传本地文件,而不受同源...
在IT行业中,大附件上传是许多应用程序和网络服务的...综上所述,实现“大附件上传支持2G文件”涉及到后端服务器配置、前端Flash组件的使用,以及一系列优化策略,旨在提供稳定、安全且用户体验良好的文件上传服务。
在ASP.NET环境中,SWFUpload可以提供类似163邮箱的高级附件上传体验,支持预览、进度条显示以及批量上传等特性。 首先,我们要理解SWFUpload的工作原理。它利用Flash技术绕过浏览器的同源策略限制,可以在后台无...
该资源主要涉及的是一个.NET平台下的文件上传功能实现,特别提到了模仿网易163邮箱附件上传的用户体验。这里我们将详细探讨.NET源码在文件上传中的应用,以及SWFUpload库在其中的角色,同时也会讨论文件上传完成后...
在.NET开发环境中,实现大文件上传并带有进度条显示的功能是一项常见的需求,特别是在构建Web应用时,用户可能需要上传较大的附件或数据。本项目“仿QQ邮箱大文件上传组件”正是针对这一需求而设计,其核心是利用了...
Flash上传是基于Adobe Flash技术实现的文件上传功能,但在一些现代设备和浏览器中,由于安全性和性能问题,Flash已不再被支持。相反,HTML5上传利用了Web API,如FileReader、FormData和XMLHttpRequest,无需插件...
在ExtJS4中实现多附件上传功能,可以极大地提升用户体验,使得用户能够一次性上传多个文件,而无需反复操作。本篇将详细介绍如何利用ExtJS4结合SWFUpload库来创建一个多附件上传组件。 首先,SWFUpload是一个开源的...
它利用了JQuery JavaScript库和SWFUpload组件,来实现高效、稳定且用户友好的大文件上传功能。下面将详细介绍这个系统的关键技术和工作原理。 首先,JQuery是一个广泛使用的JavaScript库,它极大地简化了DOM操作、...
"不同格式附件上传"这个主题聚焦于如何实现对多种文件格式的支持,确保用户能够方便地上传包括图片、文档、音频、视频等在内的各种类型文件。在本文中,我们将深入探讨这一功能的实现原理、技术选型以及相关挑战。 ...
4. **JavaScript交互**:利用SWFUpload提供的JavaScript接口,监听上传事件,更新UI状态,如进度条、错误提示等。 5. **异常处理**:编写错误处理逻辑,确保上传失败时能够正确反馈给用户。 通过这样的组合,开发者...
本文将详细介绍如何将PHPCMS中的Flash附件上传功能修改为H5上传功能。 一、Flash上传的局限性 Flash作为早期的多媒体技术,曾经广泛用于网页中的动画和视频播放,以及文件上传。然而,由于其存在严重的安全漏洞,...
根据文件描述,文章重点介绍了如何在phpcms模块中集成和使用SWFUpload,以便实现多附件上传功能而不改变系统现有的文件和目录结构。 ### 文件上传功能的需求和目的 需求:实现多附件上传功能,即能够上传整个文件夹...