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> <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>