使用WebUploader上传文件,,简单的配置过程

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


  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值