<!--html部分 --> <div id="uploader" class="wu-example" style="width: 800px;"> <!--用来存放文件信息--> <div id="thelist" class="uploader-list"></div> <div class="btns" > <div id="picker">选择文件</div> <button id="ctlBtn" class="btn btn-default">开始上传</button> <button id="delete" οnclick="closeUploader()" class="btn btn-default">重新选择</button> </div> </div> var uploader;
$(function(){ var $list=$("#thelist"); //初始化全局变量。 var $btn =$("#ctlBtn"); //开始上传 var thumbnailWidth = 50; //缩略图高度和宽度 var thumbnailHeight = 50; uploader = WebUploader.create({ // 选完文件后,是否自动上传。 auto: false, // swf文件路径 swf: '../../js/file/Uploader.swf', // 文件接收服务端。 server: "http://" + ipaddress + "/file/upload.do", // 选择文件的按钮。可选。 // 内部根据当前运行是创建,可能是input元素,也可能是flash. pick: '#picker', //不压缩图片。 resize: false, method:'POST', formData: { } }); // 当有文件添加进来的时候 uploader.on( 'fileQueued', function( file ) { var $li = $( '<div id="' + file.id + '" class="file-item thumbnail">' + '<img>' + '<div class="info">' + file.name + '</div>' + '<p class="state">等待上传...</p>' + '</div>' ), $img = $li.find('img'); // $list为容器jQuery实例 $list.append( $li ); // 创建缩略图 // 如果为非图片文件预览不出来。 // thumbnailWidth x thumbnailHeight 为 100 x 100 uploader.makeThumb( file, function( error, src ) { //webuploader方法 if ( error ) { $img.replaceWith('<span>不能预览</span>'); return; } $img.attr( 'src', src ); }, thumbnailWidth, thumbnailHeight ); }); // 文件上传过程中创建进度条实时显示。 uploader.on( 'uploadProgress', function( file, percentage ) { var $li = $( '#'+file.id ), $percent = $li.find('.progress .progress-bar'); // 避免重复创建 if ( !$percent.length ) { $percent = $('<div class="progress progress-striped active">' + '<div class="progress-bar" role="progressbar" style="width: 0%">' + '</div>' + '</div>').appendTo( $li ).find('.progress-bar'); } $li.find('p.state').text('上传中'); $percent.css( 'width', percentage * 100 + '%' ); }); // 文件上传成功,给item添加成功class, 用样式标记上传成功。 uploader.on( 'uploadSuccess', function( file ) { $( '#'+file.id ).find('p.state').text('已上传'); }); uploader.on( 'uploadError', function( file ) { $( '#'+file.id ).find('p.state').text('上传出错'); }); // 完成上传完了,成功或者失败,先删除进度条。 uploader.on( 'uploadComplete', function( file ) { $( '#'+file.id ).find('.progress').remove(); }); $btn.on( 'click', function() { console.log("上传..."); uploader.upload(); console.log("上传成功"); }); }) //重置文件选择 /*关闭上传框窗口后恢复上传框初始状态*/ function closeUploader() { // 移除所有缩略图并将上传文件移出上传序列 for (var i = 0; i < uploader.getFiles().length; i++) { // 将图片从上传序列移除 uploader.removeFile(uploader.getFiles()[i]); //uploader.removeFile(uploader.getFiles()[i], true); //delete uploader.getFiles()[i]; // 将图片从缩略图容器移除 var $li = $('#' + uploader.getFiles()[i].id); $li.off().remove(); } setState('pedding'); // 重置文件总个数和总大小 fileCount = 0; fileSize = 0; // 重置uploader,目前只重置了文件队列 uploader.reset(); // 更新状态等,重新计算文件总个数和总大小 updateStatus(); }
//官方api地址:http://fex.baidu.com/webuploader/doc/index.html
使用WebUploader上传文件,,简单的配置过程
最新推荐文章于 2022-12-26 12:00:51 发布