WebUploader文件图片上传插件的使用

Posted 包子源

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了WebUploader文件图片上传插件的使用相关的知识,希望对你有一定的参考价值。

最近在项目中用到了百度的文件图片上传插件WebUploader。分享给大家

需要在http://fex.baidu.com/webuploader/download.html点击打开链接下载WebUploader

         // 初始化Web Uploader***上传图片
	var uploader = WebUploader.create(
	    // 选完文件后,是否自动上传。
	    auto: true,
	    // 文件接收服务端地址,自动生成缩略图需要后端完成。
	    server: '/common/uploadFile?imageZip=1',
	    // 选择文件的按钮。可选。
	    // 内部根据当前运行是创建,可能是input元素,也可能是flash.
	    pick: '#sendimg',
	    fileNumLimit: 5,
	    //allowMagnify: false,
	    // 只允许选择图片文件。
	    accept:
	        title: 'Images',
	        extensions: 'gif,jpg,jpeg,bmp,png',
	        mimeTypes: 'image/*'
	    
	);
	// 当有文件添加进来的时候
		uploader.on( 'fileQueued', function( file ) 
		    var $li = $(
		            '<div style="float:right" id="' + file.id + '" class="delimg">' +
		                '<img class="addimg"><div class="closeimg">×</div>' +
		            '</div>'
		            ),
		    $img = $li.find('img');
		
		    // $list为容器jQuery实例
		    $("#piccon").append( $li );
		    // 创建缩略图
		    // 如果为非图片文件,可以不用调用此方法。
		    // thumbnailWidth x thumbnailHeight 为 100 x 100
		    uploader.makeThumb( file, function( error, src ) 
		        if ( error ) 
		            $img.replaceWith('<span>不能预览</span>');
		            return;
		        
		
		        $img.attr( 'src', src );
		    , 100, 100 );
		    $li.on('click', function() 
			    $(this).remove();
			)
		);
		// 文件上传过程中创建进度条实时显示。
			uploader.on( 'uploadProgress', function( file, percentage ) 
			    var $li = $( '#'+file.id ),
			        $percent = $li.find('.progress span');
			
			    // 避免重复创建
			    if ( !$percent.length ) 
			        $percent = $('<p class="progress"><span></span></p>')
			                .appendTo( $li )
			                .find('span');
			    
			
			    $percent.css( 'width', percentage * 100 + '%' );
			);
			
			// 文件上传成功,给item添加成功class, 用样式标记上传成功。
			uploader.on( 'uploadSuccess', function( file,response ) 
				imgurl=response.fileName;//这里可以拿到后台返回的图片名称
				//alert(imgurl);
			    $( '#'+file.id ).addClass('upload-state-done');
			);
			
			// 文件上传失败,显示上传出错。
			uploader.on( 'uploadError', function( file ) 
			    var $li = $( '#'+file.id ),
			        $error = $li.find('div.error');
			
			    // 避免重复创建
			    if ( !$error.length ) 
			        $error = $('<div class="error"></div>').appendTo( $li );
			    
			
			    $error.text('上传失败');
			);
			
			// 完成上传完了,成功或者失败,先删除进度条。
			uploader.on( 'uploadComplete', function( file ) 
			    $( '#'+file.id ).find('.progress').remove();
			);


使用webupload封装后的图片上传

     //图片上传初始化
   function webuploader()
   	    var showimg=seturl("/dream/app/upload/");
		// 初始化Web Uploader***上传图片
		var uploader = WebUploader.create(
		    // 选完文件后,是否自动上传。
		    auto: true,
		    // 文件接收服务端。
		    server: seturl("/dream/app/fileupload.php"),
		    // 选择文件的按钮。可选。
		    // 内部根据当前运行是创建,可能是input元素,也可能是flash.
		    pick: '#sendimg',
		    fileNumLimit: 3,
		    method:"POST",
		    //allowMagnify: false,
		    // 只允许选择图片文件。
		    accept:
		        title: 'Images',
		        extensions: 'gif,jpg,jpeg,png',
		        mimeTypes: 'image/*'
		    
		);
		// 当有文件添加进来的时候
		uploader.on( 'fileQueued', function( file ) 

		);
		// 文件上传过程中创建进度条实时显示。
		uploader.on( 'uploadProgress', function( file, percentage ) 
			
		);
		
		// 文件上传成功,给item添加成功class, 用样式标记上传成功。
		uploader.on( 'uploadSuccess', function( file,response ) 
			$("#piccon").append('<img id="'+response._raw+'" src="'+showimg+response._raw+'" class="addimg"><span id="'+response._raw+'" class="cimg">×</span>');
		    $( '#'+file.id ).addClass('upload-state-done');
		);
		
		// 文件上传失败,显示上传出错。
		uploader.on( 'uploadError', function( file ) 
		    var $li = $( '#'+file.id ),
		        $error = $li.find('div.error');
		
		    // 避免重复创建
		    if ( !$error.length ) 
		        $error = $('<div class="error"></div>').appendTo( $li );
		    
		
		    $error.text('上传失败');
		);
		
		// 完成上传完了,成功或者失败,先删除进度条。
		uploader.on( 'uploadComplete', function( file ) 
		    $( '#'+file.id ).find('.progress').remove();
		    $(".cimg").click(function()
				$(this).prev("img").remove();
				$(this).remove();
			)
		);
   


以上是关于WebUploader文件图片上传插件的使用的主要内容,如果未能解决你的问题,请参考以下文章

使用webuploader插件上传图片时如果正确 限制上传数量

百度图片上传插件webuploader

使用webuploader插件上传图片时如果正确 限制上传数量

JSP+SpringMVC框架使用WebUploader插件实现注册时候头像图片的异步上传功能

vue移动端图片上传,可最多上传9张,使用webuploader插件

支持移动端裁剪图片插件Jcrop(结合WebUploader上传)