前端 技术随笔

UploadiFive 使用文档与常用配置项(jQuery HTML5 文件上传)

UploadiFive 是基于 jQuery 的 HTML5 文件上传插件,无需 Flash 即可在主流浏览器工作。下面整理最常用配置项与一个最小可用示例。

一、引入与基本结构

<link rel="stylesheet" href="uploadifive.css">
<script src="jquery.min.js"></script>
<script src="jquery.uploadifive.min.js"></script>

<input type="file" id="file_upload">
<a href="javascript:$('#file_upload').uploadifive('upload')">开始上传</a>
$(function() {
    $('#file_upload').uploadifive({
        "uploadScript": "/upload.php",
        "auto": false
    });
});

二、常用配置项

配置项类型默认值说明
autoBooleantrue文件加入队列后是否自动上传
uploadScriptString接收上传的服务器端地址(如 /upload.php)
buttonTextStringSELECT FILES按钮显示文字,支持 HTML
buttonClassString追加到按钮上的 class
fileObjNameStringFiledata服务端接收文件对象的字段名(PHP 中 $_FILES 的键)
fileTypeString*.*允许的文件类型,如 "*.jpg;*.png"
fileSizeLimitString单个文件大小上限,如 "2MB"
multiBooleantrue是否允许选择多个文件
queueIDString显示上传队列的容器 id
queueSizeLimitNumber999队列中最多文件数
uploadLimitNumber999最多可上传文件数
formDataJSON随文件一起提交的其他参数
removeCompletedBooleantrue上传完成后是否从队列移除
checkScriptString上传前检查同名文件的脚本地址
dndBooleantrue是否允许拖拽上传

三、回调与事件

$('#file_upload').uploadifive({
    "uploadScript": "/upload.php",
    "onSelect": function(queue) { console.log('已选择 ' + queue.length + ' 个文件'); },
    "onUploadComplete": function(file, data) { console.log('上传完成', file.name, data); },
    "onError": function(file, errorCode, errorMsg) { console.log('出错', errorMsg); }
});

四、完整示例(带队列与限制)

$(function() {
    $('#file_upload').uploadifive({
        "auto": false,
        "dnd": true,
        "queueID": "queue",
        "uploadScript": "/upload.php",
        "fileType": "*.jpg;*.png;*.gif",
        "fileSizeLimit": "2MB",
        "multi": true,
        "buttonText": "选择图片",
        "onUploadComplete": function(file, data) { alert(file.name + ' 上传成功'); }
    });
});
<style>
#queue { border:1px solid #e5e5e5; border-radius:5px; height:178px; overflow:auto; padding:3px; width:300px; }
</style>
<div id="queue"></div>
<input type="file" id="file_upload">
<a href="javascript:$('#file_upload').uploadifive('upload')">开始上传</a>

五、后端接收(PHP 示例)

// upload.php
if (!empty($_FILES['Filedata'])) {
    move_uploaded_file($_FILES['Filedata']['tmp_name'], './/uploads/' . $_FILES['Filedata']['name']);
    echo 'ok';
}

注意字段名要与 fileObjName 对应,默认为 Filedata

标签
UploadiFivejQuery文件上传