一起学习网 一起学习网

jquery.uploader.js

<!doctype html>    
<html>    
<head>    
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />    
<title>jQuery Uploader</title>    
<style type="text/css">    
* {margin:0; padding:0;}    
body {font:12px/1.5 tohama,arial;}    
a {text-decoration:none}    
a:hover {text-decoration:underline;}    
/*.upload-btn-over {background:#f00}*/    
</style>    
<link rel="stylesheet" href="jquery.uploader.css">    
</head>    
<body>    
<h2>建议打开控制台查看上传过程</h2>    
<br>    
	<span style="color:red">注意:1、本示例限制了只能上传 jpg,jpeg,gif,png 格式;2、文件大小超过1M(1024KB)则禁止上传</span>    
<br><br>    
	<button type="button" id="selectFile">选择文件</button>    
<a href="javascript:" onclick="$('#selectFile').uploader('start');" style="margin-left:20px;">开始上传</a> &nbsp;&nbsp;    
<a href="javascript:" onclick="$('#selectFile').uploader('cancel', '*');">清空队列</a>    
<span id="show_speed" style="margin-left:2em"></span>    
<div id="queue" style="width:600px"></div>    
<br><br>    
<div id="preview"></div>    
<script type="text/javascript" src="http://cdn.staticfile.org/jquery/1.11.0/jquery.min.js"></script>    
<!--script type="text/javascript" src="../static/js/jquery/jquery-1.7.2.min.js"></script-->    
<script type="text/javascript" src="src/jquery.uploader.js"></script>    
<script type="text/javascript">    
function log(obj1, obj2){    
if ('console' in window) {    
obj2 ? console.log(obj1, obj2) : console.log(obj1);    
}    
}    
$(function(){    
var previewHTML = '';    
$('#selectFile').uploader({    
action: 'upload.php',   //服务端脚本    
//mode: 'flash',        //上传模式,html5/flash    
name: "file",           //字段名    
formData: {},           //    
multiple: true,         //是否多选    
auto: false,            //是否自动上传    
		//debug:true,    
preview: true,    
showQueue: '#queue',                        //显示队列的位置(传递jQuery选择器自定义队列显示的元素,传递true自动生成队列)    
fileSizeLimit: '1M',                        //文件大小限制('100kb' '5M' 等)    
fileTypeDesc: '选择图片文件',      //可选择的文件的描述,用中竖线分组。此字符串出现在浏览文件对话框的文件类型下拉中    
fileTypeExts: 'jpg,jpeg,gif,png',        //允许上传的文件类型类表,用逗号分隔多个扩展,用中竖线分组(eg: 'jpg,jpeg,gif,png | zip,rar')    
/*    
// 鼠标点击触发按钮    
onMouseClick: function(){    
//log('onMouseClick')    
},    
// 鼠标经过触发按钮    
onMouseOver: function(el){    
//log('onMouseOver')    
},    
// 鼠标移出触发按钮    
onMouseOut: function(el){    
//log('onMouseOut')    
},*/    
// 上传初始化完成    
onInit:function(){    
log('onInit');    
if (this.options.mode === 'html5') {    
if ($.uploader.html5) log('恭喜,您的浏览器支持HTML5方式上传文件!');    
else log('抱歉,由于您的浏览器不支持HTML5上传,将自动降级到Flash方式');    
} else {    
log('您设置了强制使用Flash方式上传!');    
}    
var o = '当前配置:';    
o += this.options.multiple ? '允许多选' : '只能单选';    
o += this.options.auto ? ',选择完文件后自动上传' : ',选择完文件后手动上传';    
log(o);    
log("===============================================");    
},    
// 选择文件    
onSelected: function(filelist){    
log('onSelected', filelist);    
log("===============================================");    
},    
// 取消选择文件    
onCancel: function(file){    
log('onCancel', file);    
log("===============================================");    
},    
// 开始上传    
onStart: function(e){    
log('onStart', e);    
log("===============================================");    
},    
// 上传进行中    
onProgress: function(e){    
log('onProgress', e)    
log('上传速度:'+ e.speed);    
document.getElementById('show_speed').innerHTML = '上传速度:'+ e.speed;    
log("===============================================");    
},    
// 上传发生错误    
onError: function(e){    
log('onError', e);    
log("===============================================");    
},    
// 上传成功    
onSuccess: function(e){    
log('onSuccess', e);    
log('上传成功!文件地址:'+ e.data);    
if (e.file.type === "image/jpeg") previewHTML += '<img src="'+ e.data +'">';    
log("===============================================");    
log(" ");    
},    
// 单个文件处理完成(error or success)    
onComplete: function(e){    
log('onComplete', e);    
log("===============================================");    
},    
// 全部文件处理完成(error or success)    
onAllComplete: function(){    
log('onAllComplete');    
if ( previewHTML ) {    
$('#preview').prepend(previewHTML);    
previewHTML = '';    
}    
setTimeout(function(){    
document.getElementById('show_speed').innerHTML = '';    
}, 2000);    
log("===============================================");    
},    
// 清空队列    
onClearQueue: function(){    
log('onClearQueue');    
log("===============================================");    
}    
});    
});    
</script>    
</body>    
</html>