• 利用Flash上传大文件,swfupload修改说明flash制作教程


    Flash Player 8可以支持100MB以下的大文件上传。目前,已经有许多网站利用Flash Player的这个特性来上传大文件了。例如著名的youtubeBox.net国内的G宝盘等等。在互联网上,很早我就找到了这个不错的开源swf上传组件:SWFUpload,但是由于它不太符合项目需求,并且没有帮助材料,我对它进行了一些修改。

    注意: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定义

    修改后的组件下载:
    swfupload.zip

  • 相关阅读:
    洛谷 P1474 货币系统 Money Systems 题解
    洛谷 P5146 最大差值 题解
    洛谷 P1880 [NOI1995]石子合并 题解
    洛谷 P1063 能量项链 题解
    洛谷 P3385 【模板】负环 题解
    洛谷 P1522 牛的旅行 Cow Tours 题解
    洛谷 P2212 [USACO14MAR]浇地Watering the Fields 题解
    浅谈 C 语言中模块化设计的范式
    内联函数(Inline Functions)
    C++中全局变量的声明和定义
  • 原文地址:https://www.cnblogs.com/ericyuan/p/2726389.html
Copyright © 2020-2023  润新知