分享百度文件上传组件webUploader的使用demo

先创建DOM节点:<head ng-app="myApp">
   <meta charset="UTF-8">
   <title></title>
   <script src="jquery-1.10.1.min.js"></script>
   <script src="http://cdn.staticfile.org/webuploader/0.1.0/webuploader.js"></script>
   <!--<script src="file_up.js"></script>-->
</head>
<body ng-controller="myCtrl">
  <p><input type="file" value="上传文件"/></p>
  </br>
  <div id="uploader" class="wu-example">
    <!--用来存放文件信息-->
     <div id="thelist" class="uploader-list"></div>
     <div class="btns">
	<div id="picker">选择文件</div>
	<button id="ctlBtn" class="btn btn-default">开始上传</button>
     </div>     <div id="my_list"></div>
   </div>
</body>

  

<script>
	//实例化
	var uploader = WebUploader.create({
	         // swf文件路径
	   	//swf: BASE_URL + ‘/js/Uploader.swf‘,
	  	// swf:‘http://cdn.staticfile.org/webuploader/0.1.0/Uploader.swf‘,
	    auto: false,
	    // 文件接收服务端。
	    server:‘http://127.0.0.1:8020/upFile/file_up.html‘,	//在做这个demo的时候,并没有服务器地址,我使用的是HBuilder自带的浏览器打开文件,复制url
	    // 选择文件的按钮。可选。
	    // 内部根据当前运行是创建,可能是input元素,也可能是flash.
	    pick: ‘#picker‘,
	    // 不压缩image, 默认如果是jpeg,文件上传前会压缩一把再上传!
	    resize: false,
            method:‘POST‘,
	});

// 上传队列,仅包括等待上传的文件
     var _queue = [];

// 存储所有文件
     var _map = {};
// 当有文件被添加进队列的时候
    uploader.on( ‘fileQueued‘, function( file ) {
	var that_file=file;
	_queue.push(file);
	draw_page(_queue);
    });

   //绘制页面
    function draw_page(_queue){
    	$list=$("#my_list");
    	$list.html("");
    	console.log($list.html());
		for(var i=0;i<_queue.length;i++){
			  $list.append( ‘<div id="‘ + _queue[i].id + ‘" class="item">‘ +
	        ‘<h4 class="info">‘ + _queue[i].name +
	          ‘<span id="cancelButton" style="background: red;cursor:pointer"‘ + ‘onclick=deleteMyfile(‘+_queue[i].id+‘)‘+ ‘> 取消上传</span>‘
	        +‘</h4>‘ +
	    	‘</div>‘ );
		}
    }

    //点击开始上传文件
        $("#ctlBtn").on("click",function(){
	   uploader.upload();
	});

    //点击“取消”按钮,调用事件
	function deleteMyfile(myFile_id){
		   console.log(myFile_id);
		  //点击取消,删除dom节点刷新界面
	 	 //   $(myFile_id).remove();

	 	   var tar_id= $(myFile_id).attr("id");
	 	   $.each(_queue,function(k,v){
	 	    	if(_queue[k].id==tar_id){
	 	    		var myFile=_queue[k];
	 	    		uploader.removeFile(myFile,true);
	 	    	}
	 	    	return false;
	 	   });
	}
	//文件删除的详细方式
	function _delFile (file){
	    for(var i = _queue.length - 1 ; i >= 0 ; i-- ){
	        if(_queue[i].id== file.id){
	             _queue.splice(i,1);
	            break;
	        }
	    }
	   //重新绘制界面
		draw_page(_queue);
	};

	//档文件被移除队列de时候
	uploader.on("fileDequeued",function(file){
		_delFile (file);
	});

	// 文件上传过程中创建进度条实时显示。
	uploader.on( ‘uploadProgress‘, function( file, percentage ) {
		alert("uploadProgress--文件正在上传");
	    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 + ‘%‘ );
	});

	//开始上传
	uploader.on(‘startUpload‘,function(file){
		  alert("文件开始上传了------startUpload");
	});

	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‘).fadeOut();
	});
</script>

参考地址:

http://www.jb51.net/article/96735.htm

http://www.jb51.net/article/96714.htm

http://blog.csdn.net/mooner_guo/article/details/48765151

你也可以看看webuploader官网github

 

时间: 2024-07-29 08:28:45

分享百度文件上传组件webUploader的使用demo的相关文章

百度开源上传组件webuploader 可上传多文件并带有进度条

//上传多文件 function UploadMultiFile() { var uploader = WebUploader.create({ // 选完文件后,是否自动上传. auto: true, // swf文件路径 swf: '~/Content/libs/webuploader/Uploader.swf', // 文件接收服务端. server: '../../Document/Art/UploadFile', // 选择文件的按钮.可选. // 内部根据当前运行是创建,可能是inp

文件上传插件WebUploader的使用

插件描述: WebUploader是由Baidu WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件.在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS 6+, android 4+.两套运行时,同样的调用方式,可供用户任意选用. 采用大文件分片并发上传,极大的提高了文件上传效率. 插件特点: 分片.并发分片与并发结合,将一个大文件分割成多块,并发上传,极大地提高大文件的上传速度.当网

Atitit..文件上传组件选型and最佳实践总结(2)----断点续传

Atitit..文件上传组件选型and最佳实践总结(2)----断点续传 1. 断点续传的原理 1 2. 如何判断一个插件/控件是否支持断点续传?? 1 3. 常用的组件选型结果::马 1 4. 自定义断点续传控件要实现的指标 2 5. 断点续传实现协议ftp/http/ rmi 等选型.. 2 6. 断点续传实现方式activex,plugin,,applet,  Flash ,能不能实现断点续传?? 3 7. Missing required permissions manifest att

异步文件上传组件 Uploader

Uploader是非常强大的异步文件上传组件,支持ajax.iframe.flash三套方案,实现浏览器的全兼容,调用非常简单,内置多套主题支持 和常用插件,比如验证.图片预览.进度条等,广泛应用于淘宝网,比如退款系统.爱逛街.二手.拍卖.我的淘宝.卖家中心.导购中心等. Uploader的特性 支持ajax.flash.iframe三种方案,兼容所有浏览器.(iframe不推荐使用) 多主题支持,可以自己定制主题 丰富的插件支持 支持多选批量上传 支持上传进度显示 支持取消上传 支持图片预览(

ASP中文件上传组件ASPUpload介绍和使用方法

[导读]要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件 1 下载和安装ASPUpload  要实现该功能,就要利用一些特制的文件上传组件.文件上传组件网页非常多,这里介绍国际上非常有名的ASPUpload组件,它的下载网址是:           http://www.persits.com/aspupload.exe       组件提供者网址是:           http://www.aspupload.com    

jQuery.uploadify文件上传组件实例讲解

1.jquery.uploadify简介 在ASP.NET中上传的控件有很多,比如.NET自带的FileUpload,以及SWFUpload,Uploadify等等,尤其后面两个控件的用户体验比较好,无刷新,带上传进度等等.在最近的短信平台开发中,使用Uploadify进行文件上传. Uploadify官网地址是:http://www.uploadify.com/ 可满足项目开发需求. 下载地址:http://www.uploadify.com/wp-content/uploads/files/

1.6 文件上传组件

1.6 文件上传组件1.6.1 基本形制<input type="file" name="myfile"/> 1.6.2 常用属性1.6.2.1 类型typetype="file"说明这个控件是一个文件上传组件,由一个文本框和一个按钮组合而成. 1.6.2.2 名称namename是文件上传组件名,是后台服务器负责处理文件的部分与前台上传组件联系的唯一途径. 前台需要通过它告知后台,后台需要它了解前台. 详情请参考1.6.4.1中&l

JS组件系列——Bootstrap文件上传组件:bootstrap fileinput

原文:JS组件系列--Bootstrap文件上传组件:bootstrap fileinput 前言:之前的三篇介绍了下bootstrap table的一些常见用法,发现博主对这种扁平化的风格有点着迷了.前两天做一个excel导入的功能,前端使用原始的input type='file'这种标签,效果不忍直视,于是博主下定决心要找一个好看的上传组件换掉它.既然bootstrap开源,那么社区肯定有很多关于它的组件,肯定也有这种常见的上传组件吧.经过一番查找,功夫不负有心人,还是被博主找到了这个组件:

HTML5文件上传组件美化jQuery插件

简要教程 jQuery.filer是一款简单的HTML5文件上传组件美化jQuery插件.它能够完成单文件和多文件的上传,支持文件的拖拽,支持不同的文件格式校验,支持缩略图和图标等,是一款非常实用的文件上传插件.它的特点还有: 对文件上传File Input组件进行美化 支持多文件上传 支持校验文件:大小,扩展名等 支持创建文件的缩略图 每种类型的文件可以自定义图标 可以为缩略图,图标和input自定义模板和主题 可以移出已选择的文件 可以从剪切板粘贴图片 所有的图标在一个字体文件中 支持文件拖