微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

免费的HTML5版uploadify送上

相信有不少同学用过uploadify这一款文件上传插件,它支持文件选择、能显示进度条、可配置性高,总体来说是比较好用的。官网有两个版本供下载,分别是flash版和HTML5版。不过令人惋惜的是,HTML5版是收费的。活了这么多年,啥时候用软件掏过钱啊!秉着发扬我们的优良传统,我决定照着它的API自己实现一个HTML5版的。

经过一番折腾,终于覆盖了大部分API,已经能够实现基本的文件上传需求。

如下,是插件中的default配置:

var defaults = {

        fileTypeExts:'',//允许上传文件类型,格式'*.jpg;*.doc'

        uploader:'',//文件提交的地址

        auto:false,//是否开启自动上传

        method:'post',//发送请求的方式,get或post

        multi:true,//是否允许选择多个文件

        formData:null,//发送给服务端的参数,格式:{key1:value1,key2:value2}

        fileObjName:'file',//在后端接受文件的参数名称,如PHP中的$_FILES['file']

        fileSizeLimit:2048,//允许上传文件大小,单位KB

        showUploadedPercent:true,//是否实时显示上传的百分比,如20%

        showUploadedSize:false,//是否实时显示上传文件大小,如1M/2M

        buttonText:'选择文件',//上传按钮上的文字

        removeTimeout: 1000,//上传完成后进度条的消失时间,单位毫秒

        itemTemplate:itemTemp,//上传队列显示的模板

        onUploadStart:null,//上传开始时的动作

        onUploadSuccess:null,//上传成功的动作

        onUploadComplete:null,//上传完成的动作

        onUploadError:null,//上传失败的动作

        onInit:null,//初始化时的动作

        onCancel:null//删除掉某个文件后的回调函数,可传入参数file

    }

已实现的特性有:

1.多文件上传

2.显示进度条

3.显示上传文件大小和百分比

4.文件后缀名和文件大小检测

5.向服务端提交额外数据

6.自定义文件队列中的html模板

7.css样式分离出单独文件,可自己定制样式

8.添加文件上传各阶段的回调函数

使用方式

首先页面上需要一个容器,通常是一个div,如:

<div id="upload"></div>

然后直接调用即可:

$('#upload').Huploadify({

        auto:true,

        fileTypeExts:'*.jpg;*.png;*.exe',

        multi:true,

        formData:{key:123456,key2:'vvvv'},

        fileSizeLimit:1024,

        showUploadedPercent:true,

        showUploadedSize:true,

        removeTimeout:9999999,

        uploader:'upload.PHP',

        onUploadStart:function(){

            console.log('开始上传');

            },

        onInit:function(){

            console.log('初始化');

            },

        onUploadComplete:function(){

            console.log('上传完成');

            },

        onCancel:function(file){

            console.log(file);

        }

    });

    具体的参数含义,如果看上面的不太清晰,可以直接去uploadify官网http://www.uploadify.com/documentation/查看,因为我完全是照着他的API实现的,用法与他一致。下面上个截图:

    完整代码

    为方便大家测试,我编写了一个完整的demo,需要运行在PHP环境中,如果你是其他后台语言,就自己写一下吧,很简单~

猛戳这里下载:

点击下载

如果发现bug或其他建议,可以和我联系哦~

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐