前几周做一个web企业项目,用户一定要求要有批量上传功能,而且指明了要和他们的老系统上传文件功能一样(老系统是c/s结构,vb做的)。然后没办法,想来想去只有flash能做到,于是上网找有没有这方面的东西,就找到了这个东东——SWFUpload.
官网地址是:http://swfupload.mammon.se/
由于在官网的里例子示范里面只有php,C#,VB.net和ROR的,然后我上javaeye搜了下,好象也不多,只有一篇,而且也是比较高级的,于是只能自己搞了。
完了之后觉得这个东西的确相当不错,使用感觉很好,我估计我以后做项目可能都要用这玩意了。
代码我自己做了个war包,很简单的一个例子,我在tomcat5.5和java5.0环境下测试通过。
包结构如下:
- index.jsp
- upload.jsp
- js
- +-----example_callbacks.js
- +-----SWFUpload.js
- +-----SWFUpload.swf
index.jsp
upload.jsp
js
+-----example_callbacks.js
+-----SWFUpload.js
+-----SWFUpload.swf
以上index.jsp就是文件上传显示页面,upload.jsp做上传功能。js里面的两个一个是与swf通信的回调函数,一个是本身使用的js文件。
比较重要的一段内容是在index.jsp里面,如下
- var swfu;
- window.onload = function() {
-
swfu = new SWFUpload({
-
upload_script : "../upload.jsp",
-
target : "SWFUploadTarget",
-
flash_path : "js/SWFUpload.swf",
-
allowed_filesize : 30720,
-
allowed_filetypes : "*.*",
-
allowed_filetypes_description : "All files...",
-
browse_link_innerhtml : "选择",
-
upload_link_innerhtml : "开始上传",
-
browse_link_class : "swfuploadbtn browsebtn",
-
upload_link_class : "swfuploadbtn uploadbtn",
-
flash_loaded_callback : 'swfu.flashLoaded',
-
upload_file_queued_callback : "fileQueued",
-
upload_file_start_callback : 'uploadFileStart',
-
upload_progress_callback : 'uploadProgress',
-
upload_file_complete_callback : 'uploadFileComplete',
-
upload_file_cancel_callback : 'uploadFileCancelled',
-
upload_queue_complete_callback : 'uploadQueueComplete',
-
upload_error_callback : 'uploadError',
-
upload_cancel_callback : 'uploadCancel',
-
auto_upload : false
- })
- }
var swfu;
window.onload = function() {
swfu = new SWFUpload({
upload_script : "../upload.jsp", //调用的上传功能
target : "SWFUploadTarget",
flash_path : "js/SWFUpload.swf", //flash所在位置
allowed_filesize : 30720, // 30 MB
allowed_filetypes : "*.*",
allowed_filetypes_description : "All files...",
browse_link_innerhtml : "选择",
upload_link_innerhtml : "开始上传",
browse_link_class : "swfuploadbtn browsebtn",
upload_link_class : "swfuploadbtn uploadbtn",
flash_loaded_callback : 'swfu.flashLoaded',
upload_file_queued_callback : "fileQueued",
upload_file_start_callback : 'uploadFileStart',
upload_progress_callback : 'uploadProgress',
upload_file_complete_callback : 'uploadFileComplete',
upload_file_cancel_callback : 'uploadFileCancelled',
upload_queue_complete_callback : 'uploadQueueComplete',
upload_error_callback : 'uploadError',
upload_cancel_callback : 'uploadCancel',
auto_upload : false
})
}
有一点要提醒,要当心这个upload_script属性,这个值是一个相对地址,是swf文件相对于上传功能文件的路径。这个很容易搞错我这个包里upload.jsp就是上传功能,看代码就知道了,很原始的一个文件上传。
再就是如果上传过程中是404错误,一般是就是这个upload_script属性设置错误,如果是500错误就是上传文件(upload.jsp)出错。
具体的配置等等就看官网的论坛吧,常见问题基本都在那里了。
分享到:
相关推荐
这个2.5版本的源代码和release包含了对XSS(跨站脚本攻击)的修复,以及对核心组件`swfupload.js`的优化,提升了整体的安全性和性能。 首先,我们来深入了解SwfUpload的工作原理。SwfUpload使用Flash技术,创建一个...
SWFUpload是一个流行的JavaScript库,它允许网页在后台无刷新地上传...这个压缩包中的"SWFUpload.swf"很可能是经过修改以支持QTP的源代码版本,对于使用QTP进行Web应用测试的开发者来说,这是一个非常有价值的资源。
*swfUpload/Flash/swfupload.swf?movieName=aaa"])}catch(e){(alert)(1)};// *解决swfupload-xss注入,自己项目中遇到的,已经修改 亲测通过 *将文件中的swf文件替换掉项目中的swf文件 *将swfupload.as文件替换掉...
环境:swfupload.swf+vs2010,上传大文件带进度条。 本人要网上找了好多上传文件带进度条的实例,担都不好用,写的都太复杂,这是本人按网上找的实例,写的一个简单的上传文件带进度条的,文件很小,功能却一点也不...
这个"swfupload.swf.v2.5.0.beta3.2版本"是该库的一个较新版本,提供了增强的功能和修复了一些已知问题。 在多文件上传领域,SWFUpload扮演着重要角色,尤其是在2000年代末期到2010年代初,那时HTML5的File API尚未...
extjs 3.x 批量上传文件用.在我的博客中写了具体怎么用。https://blog.csdn.net/somdip/article/details/89842350
* 可以同时上传多个文件; * 类似AJAX的无刷新上传; * 可以显示上传进度; * 良好的浏览器兼容性; * 兼容其他JavaScript库 (例如:jQuery, Prototype等); * 支持Flash 8和Flash 9;
<script type="text/javascript" src="http://www.swfupload.org/swfupload.js"> 然后,初始化SWFUpload ,如 var swfu; window.onload = function () { swfu = new SWFUpload({ upload_url : ...
**SWFUpload 知识点详解** `SWFUpload` 是一个开源的JavaScript库,它允许在网页上实现复杂的文件上传功能,特别是针对大文件和批量上传的需求。它利用了Flash技术来提供非浏览器默认的文件选择和上传体验,因此在...
总的来说,这个"extjs3.x+swfupload.swf多文件上传终结版"是一个整合了ExtJS 3.x UI框架和SWFUpload技术的解决方案,旨在提供一个稳定、高效的多文件上传体验,且已经在VS2008环境中得到了验证。使用这样的组件,...
1. **初始化设置**:SWFUpload 的使用始于创建一个实例,开发者需要配置各种参数,如上传URL、文件类型限制、最大上传文件大小等,然后通过JavaScript调用`SWFUpload.getInstance()`来实例化组件。 2. **事件处理**...
SWFUpload.js是JavaScript部分的代码,负责与Flash对象(即swfupload.swf)进行通信,控制上传流程并处理各种事件。 在压缩包中,我们有三个关键文件: 1. **swfupload.js**:这是SWFUpload的主要JavaScript库,...
swfupload.swf和swfupload.js(调用flash的接口文件) 网上下载的swfupload.swf.v2.5.0.beta3.2.zip中一般只有swf文件,缺少js文件。 另附: swfupload.swf.v2.5.0.beta3.2.zip SWFUpload_v250_beta_3_samples.zip
在“SWFUpload.rar”这个压缩包中,包含了多个版本的SWFUpload示例和核心文件,这些文件可以帮助开发者更好地理解和使用SWFUpload功能: 1. "SWFUpload_v250_beta_3_samples.zip":这是SWFUpload 2.5.0 beta 3版本...
**SwfUpload** 是一个流行的JavaScript库,它允许在网页上实现高级的文件上传功能,尤其适用于Asp.net MVC框架。MVC(Model-View-Controller)是一种设计模式,广泛应用于构建可维护、可扩展的Web应用程序。在这个...
<script type="text/javascript" src="js/swfupload.js"> <object id="swfupload" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" height="32"> <param name="movie" value="swfupload.swf" /...
下载后,将SWFUpload的JavaScript文件和Flash对象(通常是`swfupload.swf`)包含到你的HTML页面中。确保设置正确的路径,以便浏览器能够找到它们。 ### 3. 初始化SWFUpload 在JavaScript中,你需要调用`SWFUpload`...
SWFUpload是一个流行的JavaScript和Flash组件,它允许用户在后台无刷新的情况下批量上传文件,提高了用户体验。下面将详细阐述这一过程中的关键知识点。 首先,了解SWFUpload的基本原理。SWFUpload是通过Flash插件...