博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
免费的HTML5版uploadify送上
阅读量:7143 次
发布时间:2019-06-29

本文共 1917 字,大约阅读时间需要 6 分钟。

hot3.png

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

  经过一番折腾,终于覆盖了大部分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,如:

  然后直接调用即可:

$('#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官网查看,因为我完全是照着他的API实现的,用法与他一致。下面上个截图:

转载于:https://my.oschina.net/tshblogs/blog/1840367

你可能感兴趣的文章
合并傻子//区间dp
查看>>
让IE和Chrome都以隐身模式启动
查看>>
MyPython-->进阶篇-->类
查看>>
unity remote 连接设置
查看>>
2018 NOIP备战计划
查看>>
教你如何迅速秒杀掉:99%的海量数据处理面试题
查看>>
Silverlight如何调用淘宝API
查看>>
ESP8266- AP模式的使用
查看>>
JBoss开发者框架: JBoss技术文档中心
查看>>
linux与win下安装java linux下的安装方法
查看>>
在IIS8添加WCF服务支持
查看>>
(转)代码执行的效率
查看>>
第一天用MongoDB
查看>>
Linux服务器部署系列之二—MySQL篇
查看>>
STM32笔记记录3
查看>>
typedef关键字
查看>>
EntityType 'UserInfo' has no key defined. Define the key for this EntityType.
查看>>
Merge PDF File using itextsharp library
查看>>
使用微软的TFS云服务
查看>>
高效能TCP通讯基础组件Beetle.Express
查看>>