利用Flash上传大文件:swfupload修改以及详细说明
2007-04-02 21:42
309 查看
Flash Player 8可以支持100MB以下的大文件上传。目前,已经有许多网站利用Flash Player的这个特性来上传大文件了。例如著名的youtube,Box.net国内的G宝盘等等。在互联网上,很早我就找到了这个不错的开源swf上传组件:SWFUpload,但是由于它不太符合项目需求,并且没有帮助材料,我对它进行了一些修改。
注意:SWFUpload组件的版权归原作者所有
修改主要体现在以下几个方面:
由“一选择就上传”改为“先选择,后上传”;
加入了选择成功的回调函数设定
支持单文件上传和多文件上传模式
可以删除待上传队列中的文件
支持按照设定的顺序上传特定类型的文件
以下是针对此组件所写的一个比较详细的中文说明:
修改后的组件下载:
http://www.zengrong.net/wp-content/uploads/2007/03/swfupload.zip
=======================================================================
PS.
本文的修改是基于0.8.5版本进行的,写完这篇文章,又去SWFUpload主页看了看,发现作者已经将其更新到1.0.2版本,并且改用FlashDevelop开发(原来使用Flash IDE开发)。新版本提供了一个选项auto_upload来控制是自动上传还是先选择后上传,网站上还提供了详细的帮助文档。
原文: http://www.zengrong.net/?p=331
注意:SWFUpload组件的版权归原作者所有
修改主要体现在以下几个方面:
由“一选择就上传”改为“先选择,后上传”;
加入了选择成功的回调函数设定
支持单文件上传和多文件上传模式
可以删除待上传队列中的文件
支持按照设定的顺序上传特定类型的文件
以下是针对此组件所写的一个比较详细的中文说明:
使用说明: 将jscripts目录上传至服务器,不要修改其中的文件路径 mmSWFUpload.js是调用swf的核心文件,不要修改其路径和内容 upload.swf是上传主功能所在文件,不要修改其路径和内容 progressbar.png是上传进度条图像文件,可以替换和修改 example.js是定义本例所使用的JavaScript函数的文件,可以修改 example.css定义本例的外观,可以修改 index.htm是本文件,可以修改 进度条、选择文件的列表等所有效果全部由JavaScript实现,具体的实现未知详见sample.js中相关函数 ============================================================= swf提供的供JavaScript调用的函数 mmSWFUpload.callSWF() 此函数打开一个选择文件对话框 当选择成功时,swf会回调select_done_callback参数中定义的JavaScript函数, 当选择不成功(取消)时,swf会回调upload_cancel_callback参数中定义的JavaScript函数 使用示例:<a href="javascript:mmSWFUpload.callSWF();">选择文件</a> mmSWFUpload.doDelete() 此函数删除待上传文件队列中的最后一个文件 当删除成功时,swf会回调delete_done_callback中定义的JavaScript函数 使用示例:<a href="javascript:mmSWFUpload.doDelete();">删除</a> mmSWFUpload.doUpload() 此函数告知swf开始上传文件队列 当上传开始时,swf会回调upload_start_callback中定义的函数 当上传正在进行中时,swf会回调upload_progress_callback中定义的函数 当上传出错时,swf会回调upload_error_callback中定义的函数 当上传完成时,swf会回调upload_complete_callback中定义的函数 当队列中的所有文件上传完成时,swf会回调upload_queue_complete_callback中定义的函数 使用示例:<a href="javascript:mmSWFUpload.doUpload();">上传</a> ============================================================= 参数介绍: debug 是否使用调试模式,在调试模式下会显示mmSWFUpload的设置信息 upload_backend 用于上传的后台程序地址。这个地址是相对于mmSWFUpload.js的 target swf显示于那个div中?这里指定div的id link_mode 如果不希望自动显示上传链接,将值设为standalone link_text 上传链接的文字。如果使用了link_mode,则参数无效。 如果希望用一个图片代替上传链接,则注释此行,设定css_class参数值 css_class 用于修饰上传链接。这是一个CSS类的名称 allowed_filesize 允许的最大文件大小。单位KB select_mode 值为空: 只能选择一个文件上传,每次选择的新文件会替换旧文件 值为multifile: 每次选择的新文件会加在待上传文件队列的末尾 值为multifileLimit:这种情况下,必须定义select_multifile_limit, 根据select_multifile_limit定义的扩展名顺序选择上传文件, 如果选择的文件顺序与select_multifile_limit定义的顺序不匹配, 则会禁止选择并调用upload_error_callback,错误代码为-60。 当按照定义的顺序选择文件完毕后,会调用select_multifile_done_callback定义的JavaScript函数。 select_multifile_limit 此参数仅当select_mode值为multifileLimit时有效 定义要按顺序上传的文件扩展名,扩展名间用英文半角逗号分隔 例如要上传三个文件,第一个为jpg图片,第二个为doc文档,第三个为zip压缩包, 则定义为“.jpg,.doc,.zip” allowed_filetypes 允许的文件扩展名 ============================================================== 函数介绍: 此处的参数定义的是当一个事件发生时swf调用的JavaScript函数名称 upload_start_callback 上传开始的时候调用,参数介绍见sample.js中的uploadStart定义 upload_progress_callback 上传进行中调用,参数介绍见sample.js中的uploadProgress定义 upload_complete_callback 上传完成调用,参数介绍见sample.js中的uploadComplete定义 upload_error_callback 上传失败调用,参数介绍见sample.js中的uploadError定义 upload_cancel_callback 上传取消调用,参数介绍见sample.js中的uploadCancel定义 upload_queue_complete_callback 所有上传队列完成后调用,参数介绍见sample.js中的uploadQueueComplete定义 select_done_callback 选择一个文件成功后回调,参数介绍见sample.js中的selectedDone定义 select_multifile_done_callback 此函数仅当select_mode值为multifileLimit时有效 当按照select_multifile_limit定义的顺序选择完成后调用 参数介绍见sample.js中的selectMultifileDone定义 delete_done_callback 当在上传列表中删除一个已经选择的等待上传的文件时调用 删除待上传文件使用mmSWFUpload.doDelete() 参数介绍见sample.js中的deleteDone定义
修改后的组件下载:
http://www.zengrong.net/wp-content/uploads/2007/03/swfupload.zip
=======================================================================
PS.
本文的修改是基于0.8.5版本进行的,写完这篇文章,又去SWFUpload主页看了看,发现作者已经将其更新到1.0.2版本,并且改用FlashDevelop开发(原来使用Flash IDE开发)。新版本提供了一个选项auto_upload来控制是自动上传还是先选择后上传,网站上还提供了详细的帮助文档。
原文: http://www.zengrong.net/?p=331
相关文章推荐
- 利用Flash上传大文件,swfupload修改说明-flash制作教程
- 利用Flash上传大文件,swfupload修改说明
- Servlet上传文件详细解析以及注意事项
- Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题
- flash上传附件 uploadify3.0详细说明
- ftp、sftp利用bat脚本自动下载以及上传文件
- FCKeditor 上传修改,添加对文件的类型以及大小的限制(ASP.NET C#)
- 有关文件上传以及文件中数据一同保存,修改的设计
- Servlet上传文件详细解析以及注意事项
- Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题
- PHP+FLASH多文件异步上传swfupload
- 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误信息: 无法识别的属性“type”。
- 使用ssh进行远程连接以及远程跳板以及scp远程上传下载文件说明
- android SElinux 总结--启用,关闭以及配置文件说明,很详细,值得学习
- Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题
- struts2 swfupload 上传文件 flash多文件上传
- FCKeditor 上传修改,添加对文件的类型以及大小的限制(ASP.NET C#)
- Servlet上传文件详细解析以及注意事项
- JSP中fckeditor控件表情修改以及文件上传
- CGI C上传文件以及大小限制修改