文件上传v1

CmsTop内置了一个FLASH上传解决方案,通过该插件可以方便地上传单个或多个文件,并支持各种回调数据。

§   文件

public/admin/uploader/cmstop.uploader.js

§   原型

<jQuery> $(selector).uploader({
            script: '',
            scriptData:'',
            fileDataName:'Filedata',
            fileExt:'',
            fileDesc:'',
            buttonImg:'',
            multi:true,
            queueSizeLimit:0,
            sizeLimit:0,
            start:function(){},
            select:function(){},
            selectend:function(){},
            queuefull:function(){},
            open:function(){},
            progress:function(){},
            complete:function(){},
            allcomplete:function(){},
            error:function(){},
            cancel:function(){},
            clear:function(){},
});

§   参数说明

参数

类型

描述

script

string

上传文件服务器端接收地址

scriptData

string

用来增加额外参数。

例如: index.php?id=1&action=uploader可以设置成:'script': 'index.php', 'scriptData': {'id':1,'action':'uploader'}

fileDataName

string

您的文件在上传服务器脚本阵列的名称, 默认值='Filedata'

fileExt

string

允许的文件后缀,以分号分隔,如:'*.jpg;*.gif;'

fileDesc

string

出现在上传对话框中的文件类型描述。与fileExt需同时使用

buttonImg

string

上传按钮显示的图片

multi

boolean

设置上传模式,是单个上传还是批量上传,默认为批量上传

queueSizeLimit

int

队列文件数限制,一次可以上传多少个文件,默认不限制

sizeLimit

int

控制上传文件的大小,单位byte

start

function

在初始化时执行,做一些初始化的工作

select

function

选择文件时触发,该函数有三个参数 event:事件对象。 queueID:文件的唯一标识,由6为随机字符组成。 fileObj:选择的文件对象,有namesizecreationDatemodificationDatetype 5个属性。

selectend

function

在文件选择结束点击确定时执行,该函数有三个参数 该函数有eventqueueIdfileObj三个参数,参数的解释同上

queuefull

function

当设置了queueSizeLimit并且选择的文件个数超出了queueSizeLimit的值时触发。该函数有两个参数eventqueueSizeLimit

open

function

点击上传时触发,如果auto设置为true则是选择文件时触发,如果有多个文件上传则遍历整个文件队列。该函数有eventqueueIdfileObj三个参数,参数的解释同上

progress

function

点击上传时触发,如果auto设置为true则是选择文件时触发,如果有多个文件上传则遍历整个文件队列,在open之后触发。该函数有eventqueueIdfileObjdata四个参数,前三个参数的解释同上。data对象有四个属性percentagebytesLoadedallBytesLoadedspeedpercentage:当前完成的百分比 bytesLoaded:当前上传的大小 allBytesLoaded:文件队列中已经上传完的大小 speed:上传速率 kb/s

complete

function

文件上传完成后触发。该函数有四个参数eventqueueIdfileObjresponsedata五个参数,前三个参数同上。response为后台处理程序返回的值,在上面的例子中为10data有两个属性fileCountspeedfileCount:剩余没有上传完成的文件的个数。 speed:文件上传的平均速率 kb/s

allcomplete

function

文件队列中所有的文件上传完成后触发。该函数有eventdata两个参数,data有四个属性,分别为:filesUploaded :上传的所有文件个数。 errors :出现错误的个数。 allBytesLoaded :所有上传文件的总大小。 speed :平均上传速率 kb/s

error

function

当上传过程中发生错误时触发。该函数有eventqueueIdfileObjerrorObj四个参数,其中前三个参数同上,errorObj对象有typeinfo两个属性。type:错误的类型,有三种‘HTTP’, ‘IO’, or ‘Security’ info:错误的描述

cancel

function

当点击文件队列中文件的关闭按钮或点击取消上传时触发。该函数有eventqueueIdfileObjdata四个参数,前三个参数同select 中的三个参数,data对象有两个属性fileCountallBytesTotal

clear

function

eventdata两个参数,同cancel 中的两个对应参数

 

§   举例说明

<!-- 引入flash上传框架-->
<script type="text/javascript" src="uploader/cmstop.uploader.js"></script>
<!--
使用Jqueryuploader绑定上传事件-->
<script type="text/javascript">
$(function(){
            $("#uploader").uploader({
                        script               : '?app=test&controller=index&action=upload',         //
上传文件接收地址
                        fileDataName   : 'picdata',                                                        //
表单上传图片字段名
                        fileDesc            : '
图片',                                                            //文件描述
                        fileExt              : '*.jpg;*.gif;*.png;',                                          //
允许的文件后缀
                        buttonImg       :'images/multiup.gif',                                       //
上传按钮显示的图片
                        sizeLimit           : 10485760,                 //
允许上传的图片尺寸,10M,以byte为单位
                        multi:false,                                                                              //
是否同时上传多图
                        complete:function(response,data){                                          //
上传成功的回调函数
                                   response =(new Function("","return "+response))();
                                   if(response.state) {
                                               ed || (ed = tinyMCE.get('content'));
                                               ed.execCommand('mceInsertContent', false, response.code);
                                               ct.ok(response.msg);
                                   } else {
                                                ct.error(response.msg);
                                   }
                        }
            });
});
</script>
<!--
HTML中写一个uploader按钮-->
<div id="uploader" class="uploader"></div>



Copyright ©2009 - 2014 CmsTop.Com.All rights reserved.
思拓合众