jQuery文件上传插件Uploadify使用指南


Posted in Javascript onJune 05, 2014

对于HTML5版本会比较好的支持手机浏览器,避免苹果手机Safari浏览器不支持
Flash,主要特性:支持多文件上传、HTML5版本可拖拽上传、实时上传进度条显示、强大的参数
定制功能,如文件大小、文件类型、按钮图片定义、上传文件脚本等。

Flash版本使用方法:
1.加载JS和CSS

 
<script src="jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
<script src="jquery.uploadify.min.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="uploadify.css">

2.编写HTML内容

<form>
<div id="queue"></div>
<input id="file_upload" name="file_upload" type="file" multiple="true">
</form>

3.函数调用

<script type="text/javascript">
        $(document).ready(function()
        {
            $("#file_upload").uploadify({
                'uploader': 'uploadify.swf',
                'script': 'UploadHandler.php',                
                'folder': 'UploadFile',
                'queueID': 'fileQueue',
                'auto': true,
                'multi': true
            });
        });  
</script>

4.更多参数配置详解

uploader : uploadify.swf 文件的相对路径,该swf文件是一个带有文字BROWSE的按钮,点击后淡出
打开文件对话框,默认值:uploadify.swf。
script :   后台处理程序的相对路径 。默认值:uploadify.php
checkScript :用来判断上传选择的文件在服务器是否存在的后台处理程序的相对路径
fileDataName :设置一个名字,在服务器处理程序中根据该名字来取上传文件的数据。默认为Filedata
method : 提交方式Post 或Get 默认为Post
scriptAccess :flash脚本文件的访问模式,如果在本地测试设置为always,默认值:sameDomain 
folder :  上传文件存放的目录 。
queueID : 文件队列的ID,该ID与存放文件队列的div的ID一致。
queueSizeLimit : 当允许多文件生成时,设置选择文件的个数,默认值:999 。
multi : 设置为true时可以上传多个文件。
auto : 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 。
fileDesc : 这个属性值必须设置fileExt属性后才有效,用来设置选择文件对话框中的提示文本,如设
置fileDesc为“请选择rar doc pdf文件”
fileExt : 设置可以选择的文件的类型,格式如:'*.doc;*.pdf;*.rar' 。
sizeLimit : 上传文件的大小限制 。
simUploadLimit : 允许同时上传的个数 默认值:1 。
buttonText : 浏览按钮的文本,默认值:BROWSE 。
buttonImg : 浏览按钮的图片的路径 。
hideButton : 设置为true则隐藏浏览按钮的图片 。
rollover : 值为true和false,设置为true时当鼠标移到浏览按钮上时有反转效果。
width : 设置浏览按钮的宽度 ,默认值:110。
height : 设置浏览按钮的高度 ,默认值:30。
wmode : 设置该项为transparent 可以使浏览按钮的flash背景文件透明,并且flash文件会被置为页
面的最高层。 默认值:opaque 。
cancelImg :选择文件到文件队列中后的每一个文件上的关闭按钮图标

上面介绍的key值的value都为字符串或是布尔类型,比较简单,接下来要介绍的key值的value为一个函数,可以在选择文件、出错或其他一些操作的时候返回一些信息给用户。

onInit : 做一些初始化的工作
onSelect :选择文件时触发,该函数有三个参数
event:事件对象。
queueID:文件的唯一标识,由6为随机字符组成。
fileObj:选择的文件对象,有name、size、creationDate、modificationDate、type 5个属性。
代码如下:

 
<script type="text/javascript">
$(document).ready(function()
{
    $("#uploadify").uploadify({
        'uploader': 'JS/jquery.uploadify-v2.1.0/uploadify.swf',
        'script': 'UploadHandler.ashx',
        'cancelImg': 'JS/jquery.uploadify-v2.1.0/cancel.png',
        'folder': 'UploadFile',
        'queueID': 'fileQueue',
        'auto': false,
        'multi': true,
        'onInit':function(){alert("1");},
        'onSelect': function(e, queueId, fileObj)
        {
            alert("唯一标识:" + queueId + "\r\n" +
                  "文件名:" + fileObj.name + "\r\n" +
                  "文件大小:" + fileObj.size + "\r\n" +
                  "创建时间:" + fileObj.creationDate + "\r\n" +
                  "最后修改时间:" + fileObj.modificationDate + "\r\n" +
                  "文件类型:" + fileObj.type
            );        }
    });
});
</script>

onSelectOnce :在单文件或多文件上传时,选择文件时触发。该函数有两个参数event,data,data对象
有以下几个属性:
fileCount:选择文件的总数。
filesSelected:同时选择文件的个数,如果一次选择了3个文件该属性值为3。
filesReplaced:如果文件队列中已经存在A和B两个文件,再次选择文件时又选择了A和B,该属性值为2。
allBytesTotal:所有选择的文件的总大小。
onCancel: 当点击文件队列中文件的关闭按钮或点击取消上传时触发。该函数有event、queueId、fileObj、
data四个参数,前三个参数同onSelect 中的三个参数,data对象有两个属性fileCount和allBytesTotal。
fileCount:取消一个文件后,文件队列中剩余文件的个数。
allBytesTotal:取消一个文件后,文件队列中剩余文件的大小。

onClearQueue :当调用函数fileUploadClearQueue时触发。有event和data两个参数,同onCancel 中的两个对应参数。
onQueueFull :当设置了queueSizeLimit并且选择的文件个数超出了queueSizeLimit的值时触发。该函数有两个
参数event和queueSizeLimit。
onError :当上传过程中发生错误时触发。该函数有event、queueId、fileObj、errorObj四个参数,其中前三个参
数同上,errorObj对象有type和info两个属性。
type:错误的类型,有三种‘HTTP', ‘IO', or ‘Security'
info:错误的描述
onOpen :点击上传时触发,如果auto设置为true则是选择文件时触发,如果有多个文件上传则遍历整个文件队列。
该函数有event、queueId、fileObj三个参数,参数的解释同上。
onProgress :点击上传时触发,如果auto设置为true则是选择文件时触发,如果有多个文件上传则遍历整个文件队
 列,在onOpen之后触发。该函数有event、queueId、fileObj、data四个参数,前三个参数的解释同上。
data对象有四个属性percentage、bytesLoaded、allBytesLoaded、speed:
percentage:当前完成的百分比
bytesLoaded:当前上传的大小
allBytesLoaded:文件队列中已经上传完的大小
speed:上传速率 kb/s
onComplete:文件上传完成后触发。该函数有四个参数event、queueId、fileObj、response、data五个参数,前三个参数
同上。response为后台处理程序返回的值,在上面的例子中为1或0,data有两个属性fileCount和speed
fileCount:剩余没有上传完成的文件的个数。
speed:文件上传的平均速率 kb/s
注:fileObj对象和上面讲到的有些不太一样,onComplete 的fileObj对象有个filePath属性可以取出上传文件的路径。
onAllComplete:文件队列中所有的文件上传完成后触发。该函数有event和data两个参数,data有四个属性,
分别为:
filesUploaded :上传的所有文件个数。
errors :出现错误的个数。
allBytesLoaded :所有上传文件的总大小。
speed :平均上传速率 kb/s

Javascript 相关文章推荐
jquery动态改变onclick属性导致失效的问题解决方法
Dec 04 Javascript
js模拟hashtable的简单实例
Mar 06 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
Sep 01 Javascript
提升jQuery的性能需要做好七件事
Jan 11 Javascript
简单实现js轮播图效果
Jul 14 Javascript
vue中引用swiper轮播插件的教程详解
Aug 16 Javascript
通过说明与示例了解js五种设计模式
Jun 17 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
详解微信小程序工程化探索之webpack实战
Apr 20 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
Apr 22 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Jun 05 #Javascript
首页图片漂浮效果示例代码
Jun 05 #Javascript
原生js实现fadein 和 fadeout淡入淡出效果
Jun 05 #Javascript
javascript的事件触发器介绍的实现
Jun 05 #Javascript
javascript中attribute和property的区别详解
Jun 05 #Javascript
使用jquery实现的一个图片延迟加载插件(含图片延迟加载原理)
Jun 05 #Javascript
用js的document.write输出的广告无阻塞加载的方法
Jun 05 #Javascript
You might like
discuz Passport 通行证 整合笔记
2008/06/30 PHP
初学CAKEPHP 基础教程
2009/11/02 PHP
脚本吧 - 幻宇工作室用到js,超强推荐share.js
2006/12/23 Javascript
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
js/jQuery简单实现选项卡功能
2014/01/02 Javascript
JavaScript字符串对象toUpperCase方法入门实例(用于把字母转换为大写)
2014/10/17 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
2016/09/14 Javascript
js代码实现下拉菜单【推荐】
2016/12/15 Javascript
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
JS实现字符串去重及数组去重的方法示例
2018/04/21 Javascript
fetch 如何实现请求数据
2018/12/20 Javascript
nodejs对mongodb数据库的增加修删该查实例代码
2020/01/05 NodeJs
[22:20]初生之犊-TI4第5名LGD战队纪录片
2014/08/13 DOTA
python高并发异步服务器核心库forkcore使用方法
2013/11/26 Python
python3.7.0的安装步骤
2018/08/27 Python
使用python进行波形及频谱绘制的方法
2019/06/17 Python
Python学习工具jupyter notebook安装及用法解析
2020/10/23 Python
利用python+ffmpeg合并B站视频及格式转换的实例代码
2020/11/24 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
PyTorch中的拷贝与就地操作详解
2020/12/09 Python
python 实现端口扫描工具
2020/12/18 Python
英国派对礼服和连衣裙购物网站:TFNC London
2018/07/07 全球购物
StudentUniverse英国:学生航班、酒店和旅游
2019/08/25 全球购物
说出ArrayList,Vector, LinkedList的存储性能和特性
2015/01/04 面试题
毕业生的自我评价范文
2013/12/31 职场文书
护士在校生自荐信
2014/02/01 职场文书
点菜员岗位职责范本
2014/02/14 职场文书
2014年小学植树节活动方案
2014/03/02 职场文书
幼儿园师德演讲稿
2014/05/06 职场文书
青年志愿者先进事迹
2014/05/06 职场文书
文明班级建设方案
2014/05/15 职场文书
2015新学期开学寄语
2015/02/26 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书
Idea连接MySQL数据库出现中文乱码的问题
2021/04/14 MySQL
JavaScript函数柯里化
2021/11/07 Javascript