webuploader+springMvc+JSP 多图上传实现

<span style="font-family: Arial, Helvetica, sans-serif;"><div class="floor-popAd clearfix"></span>
							<span class="span-popLeft"><span class="s-red">*</span>图片:</span>
							<div class="fl">
								<div class="s-lightGray posra clearfix">
									<div id="filePicker" class="fl">本地上传</div>
									<p class="fl" style="line-height:30px;">图片支持JPG,GIF格式,不超过2M</p>
								</div>
								<div class=" clearfix uploader-list"  id="fileList">
								</div>
							</div>
						</div>
<pre name="code" class="javascript"> var $list = $("#fileList");
        // 初始化Web Uploader
        var uploader = WebUploader.create({
           	// 设置文件上传域的name
            fileVal:"fileupload",
        	// 不压缩image
            resize: false,
            // 选完文件后,是否自动上传。
            auto: true,
            //验证文件总数量, 超出则不允许加入队列
            fileNumLimit:3,

            //验证文件总大小是否超出限制, 超出则不允许加入队列。
            //fileSizeLimit:1024, 

            //验证单个文件大小是否超出限制, 超出则不允许加入队列。
           // fileSingleSizeLimit :1024,

            // swf文件路径
            swf: '${ctx}/cy/js/lib/Uploader.swf',

            // 文件接收服务端。
            server: '${ctx}/advert/aptituImgUpload.html',

            // 选择文件的按钮。可选。
            // 内部根据当前运行是创建,可能是input元素,也可能是flash.
            pick: '#filePicker',

            // 只允许选择图片文件。
            accept: {
                title: 'Images',
                extensions: 'gif,jpg,jpeg,bmp,png',
                mimeTypes: 'image/*'
            }
        });

        // 当有文件添加进来的时候
        uploader.on( 'fileQueued', function( file ) {
            var $li = $('<div id="' + file.id + '" class="file-item thumbnail">'+'<input type="hidden" name="adImageUrl" id="adImageUrl' + file.id + '"/>' +'<img>' +'<div class="info">' + file.name + '</div>' +'<div class="remove-this">×</div>' +'</div>');
            var $img = $li.find('img');
            // $list为容器jQuery实例
            $list.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 );
            // 删除图片
            $list.off("click.removeFile");
            $list.on("click.removeFile",'.remove-this',function(ev){
                ev.preventDefault();
                uploader.removeFile(file);
                $(this).parent().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,obj ) {
            $( '#'+file.id ).addClass('upload-state-done');
            $( '#'+file.id ).append();
            if(obj.code==1){
        		$("#adImageUrl"+file.id).val(obj.msg);//保存服务端返回图片地址
        	}
        });

        //当所有文件上传结束时触发。 根据文本框ID删除父级容器。
        uploader.on( 'uploadFinished', function( file ) {
        	 var m = document.getElementsByName("adImageUrl");
             if(m.length > 3){
            	 var obj = m[3];
             	 $( '#'+obj.id ).parent().remove();
             }
        });

        // 文件上传失败,显示上传出错。
        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();
        });

        //执行删除方法
        $list.on("click", ".remove-this",function(){
            $(this).parent().remove();
        });
/**
 * 初始化图片
 */
function initImageView(obj){
	var str='';
	for(var i=0;i<obj.length;i++){
		str += '<div id="previewImage_' + i + '" class="file-item thumbnail">'+'<input type="hidden" name="adImageUrl" value='+ obj[i] +' id="adImageUrl' + i + '"/>' +'<img src="http://qa-pic.xebest.com'+obj[i]+'" width="100" height="100">' +'<div class="info"></div>' +'<div class="remove-this">×</div>' +'</div>';
	}
	$list.html( str ); // $list为容器jQuery实例
}

	/**
	 * 弹出对话框方法
	 * @param hid
	 * @param ad
	 */
	function myMask() {
		 var _adImageUrl = $(obj).attr("adImageUrl");//图片地址
		 var arr =  _adImageUrl.split(",");
		 if(arr.length>0 && arr[0]!=""){
			 initImageView(arr);//初始化图片
		 }
	}
				
时间: 2024-08-04 13:49:19

webuploader+springMvc+JSP 多图上传实现的相关文章

SpringMvc入门五----文件上传

? 知识点: SpringMvc单文件上传 SpringMvc多文件上传 ? 这里我直接演示多文件上传,单文件的上传就不说了,不过代码都是现成的. 效果预览: ? DEMO图: ? ? 添加文件上传jar包: Web.xml配置文件:添加spring Servlet ????<servlet> ????????<servlet-name>springmvc</servlet-name> ????????<servlet-class>org.springfra

SpringMVC学习(九)——SpringMVC中实现文件上传

这一篇博文主要来总结下SpringMVC中实现文件上传的步骤.但这里我只讲单个文件的上传. 环境准备 SpringMVC上传文件的功能需要两个jar包的支持,如下: 工程中肯定要导入以上两个jar包,主要是CommonsMultipartResolver解析器依赖commons-fileupload和commons-io这两个jar包. 单个文件的上传 前台页面 我们要改造editItem.jsp页面,主要是在form表单中添加商品图片一栏,效果我截图如下: 注意一点的是form表单中别忘了写e

Java企业微信开发_08_JSSDK多图上传

一.本节要点 1.1可信域名 所有的JS接口只能在企业微信应用的可信域名下调用(包括子域名),可在企业微信的管理后台“我的应用”里设置应用可信域名.这个域名必须要通过ICP备案,不然jssdk会配置失败 1.2JS-SDK使用权限签名算法 1.2.1 签名生成规则如下: (1)参与签名的字段包括: noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) . (2)对所有待签名参数按照字段名的ASCII

SpringMVC实现单文件上传、多文件上传、文件列表显示、文件下载

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 本文详细讲解了SpringMVC实例单文件上传.多文件上传.文件列表显示.文件下载. 一.新建一个Web工程,导入相关的包 springmvc的包+commons-fileupload.jar+connom-io.jar+commons-logging,jar+jstl.jar+standard.jar 整个相关的包如下: 整个工程目录如下: 二.配置web.xml和SpringMVC文件

SpringMVC实现文件的上传和下载

前些天一位江苏经贸的学弟跟我留言问了我这样一个问题:"用什么技术来实现一般网页上文件的上传和下载?是框架还是Java中的IO流".我回复他说:"使用SpringMVC框架可以做到这一点,因为SpringMVC为文件的上传提供了直接的支持,但需要依赖Apache提供Commons FileUpload组件jar包."鉴于这个问题,我上网也百度了一下,网上很多都是介绍的使用IO流来实现文件的上传和下载,也有说到框架的,但介绍的并不是很完整,今天小钱将和大家介绍使用Spr

smartupload实现多图上传

jsp页面 <form class="form-inline definewidth m20" action="<%=basePath %>upload" method="post" enctype="multipart/form-data"> 图片一:<input type="file" name="myfile1">名称:<input typ

【springMVC】之文件上传

通过前两篇博客的学习,想必大家对springMVC已经有了一个基本的认识.今天我们主要来学习一下springMVC两种文件上传的方式. 首先介绍第一种,通过字节流的方式实现文件上传.首先创建一个upload.jsp页面 <body> <h>添加用户</h> <!-- entype要声音和支撑这种类型的,保证文件上传不会被解码--> <!-- form表单,action是说讲这个表单提交到什么路径: method="post"是提交方

springMVC整理04--文件上传 &amp; 拦截器 &amp; 异常处理

1.  文件上传 SpringMVC 的文件上传非常简便,首先导入文件上传依赖的 jar: 1 <!-- 文件上传所依赖的 jar 包 --> 2 <dependency> 3 <groupId>commons-fileupload</groupId> 4 <artifactId>commons-fileupload</artifactId> 5 <version>1.3.1</version> 6 </

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧!

微信朋友圈的图片上传,多图上传怎么去撸才合适?我们一起来实现吧! 图片上传是非常常见的功能,而多图上传在大多数应用中也是非常常见的,比如微信的朋友圈,微博的动态,都是有九宫格图片的,那这里肯定涉及了多图上传,所以今天我们来一起撸一下,怎么去思考这个实现逻辑! 这里我想到的思路是比较简单的,首先,我们有一个按钮,按钮是上传图片,点击之后弹出某个界面进行图片的选择,一般是九张图片或者十二张,选完之后就直接上传了,大致的流程应该是这个样子,那我们首先来写个按钮 activity_main.xml <?