`
smilease
  • 浏览: 88476 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

uploadify在SpringMVC下的使用示例

 
阅读更多

1、引入uploadify的css和js文件

 

 

<%
	String path = request.getContextPath();
%>

<link rel="stylesheet" href="<%=path%>/uploadify/uploadify.css" type="text/css"></link>
<script type="text/javascript" src="<%=path%>/uploadify/jquery.uploadify-3.1.min.js"></script>

 

 2、配置相关参数和函数

     注意:$('#importLispDialog').window('close'); 要在 onUploadComplete 事件中执行,不能在onUploadSuccess里面执行。否则上传完成的文件不会消失。

字段非空的验证要在提交前验证,不能在onUploadStart里验证,否则即使为空,返回false,上传操作仍然会执行

 

<script type="text/javascript" charset="UTF-8">
	var name;    
        var content;
	$(function() {
		$("#file_upload").uploadify({
	    	'height'        : 27, 
	    	'width'         : 80,  
	    	'buttonText'    : '添加附件',
	        'swf'           : '<%=path%>/uploadify/uploadify.swf',
	        'uploader'      : '<%=path%>/uploadController.do?upload',
	        'auto'          : false,
	        'fileTypeExts'  : '*.*',
	        'formData'      : {'userName':'','content':''},
	        'onUploadStart' : function(file) {
	            $("#file_upload").uploadify("settings", "formData", {'userName':name,'content':content});
	        },
	        'onUploadSuccess':function(){
	        	$.messager.show({
					msg : '导入成功!',
					title : '提示'
				});
	        },
	        'onUploadComplete':function(){
	        	$('#importLispDialog').window('close');
	        }
	    });

	});

	function startUpload(){
		//校验   
         name=$('#userName').val();    
         content=$('#content').val();
         if(name.replace(/\s/g,'') == ''){   
              alert("姓名不能为空!"); 
              return false;  
         }else{
        	 $('#file_upload').uploadify('upload','*');
         } 
	}
</script>

 

 3、添加file框和超链接

 

<input type="file" name="uploadify" id="file_upload" />
<hr>
<a class="easyui-linkbutton" onclick="startUpload();" href="javascript:void(0);">开始上传</a> 
<a href="javascript:$('#file_upload').uploadify('cancel', '*')" class="easyui-linkbutton">取消所有上传</a> 

 

 4、后台取值,基于SpringMVC

注意创建文件夹要用 file.mkdirs();不能用 file.mkdir();否则在linux下运行失败 

 

 

@RequestMapping(params = "upload")
public String upload(HttpServletRequest request, HttpServletResponse response){
		
	String responseStr="";
	MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;  
	//获取前台传值
	String[] userNames = multipartRequest.getParameterValues("userName");
	String[] contents = multipartRequest.getParameterValues("content");
	String userName="";
	String content="";
	if(userNames!=null){
		userName=userNames[0];
	}
	if(contents!=null){
		content=contents[0];
	}
        Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();  
        //String ctxPath = request.getSession().getServletContext().getRealPath("/")+ "\\" + "images\\";  
        String ctxPath=request.getSession().getServletContext().getRealPath("/")+configPath; 
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMM");
	String ymd = sdf.format(new Date());
	ctxPath += ymd + "/";
	//创建文件夹
        File file = new File(ctxPath);  
        if (!file.exists()) {  
            file.mkdirs();  
        }  
        String fileName = null;  
        for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {  
            // 上传文件名  
            // System.out.println("key: " + entity.getKey());  
            MultipartFile mf = entity.getValue();  
            fileName = mf.getOriginalFilename();
            String fileExt = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase();
			
			SimpleDateFormat df = new SimpleDateFormat("yyyyMMddHHmmss");
			String newFileName = df.format(new Date()) + "_" + new Random().nextInt(1000) + "." + fileExt;
            File uploadFile = new File(ctxPath + newFileName);  
            try {
	    		FileCopyUtils.copy(mf.getBytes(), uploadFile);
			responseStr="上传成功";
	    } catch (IOException e) {
			responseStr="上传失败";
			e.printStackTrace();
	    }  
        } 
		return null;
}

 

5、Spring配置文件

	<bean id="multipartResolver"
		class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
		<property name="defaultEncoding">
			<value>UTF-8</value>
		</property>
		<property name="maxUploadSize">
			<value>32505856</value><!-- 上传文件大小限制为31M,31*1024*1024 -->
		</property>
		<property name="maxInMemorySize">
			<value>4096</value>
		</property>
	</bean>
 
分享到:
评论
6 楼 javazf 2014-02-20  
javazf 写道
楼主,问个问题,如下:
最近遇到一个多附近上传和表单域一起提交问题,就是说文件和前台表单域的值一起提交到后台,文件进行保存,表单域的值入数据库。
现在有个问题,如果我不选择文件,无法触发
'uploader'      : '<%=path%>/uploadController.do?upload', 不能将表单域的值入库。

楼主有什么好的解决办法吗?



我的上传文件和表单域的值入库在同一个方法里面
5 楼 javazf 2014-02-20  
楼主,问个问题,如下:
最近遇到一个多附近上传和表单域一起提交问题,就是说文件和前台表单域的值一起提交到后台,文件进行保存,表单域的值入数据库。
现在有个问题,如果我不选择文件,无法触发
'uploader'      : '<%=path%>/uploadController.do?upload', 不能将表单域的值入库。

楼主有什么好的解决办法吗?

4 楼 tianzhijie11 2013-12-07  
我用的是springmvc但跳转后 上传图片的按钮不能使用,点不出弹出框,我不知道哪里错了,想下载看看你的,谁知道是个系统文件,没看到你的配置。
3 楼 smilease 2013-11-24  
water6000 写道
原本以为是你的原文件,结果你却发了个系统文件 ,有啥用啊!

我用到的代码已经都写在博客里了
2 楼 water6000 2013-07-18  
原本以为是你的原文件,结果你却发了个系统文件 ,有啥用啊!
1 楼 w203654 2012-10-12  
好用,一次就会用了

相关推荐

    Uploadify jar包及使用实例

    本文将深入探讨Uploadify的jar包及其在Java环境中的使用实例。 首先,Uploadify jar包是该插件在服务器端处理文件上传的核心组件。它包含了处理文件上传请求、保存上传文件以及返回响应数据等所需的功能。在Java...

    关于uploadify的使用和示例

    关于`uploadify`的使用和示例,这是一个非常实用的JavaScript插件,它允许用户一次上传多个文件,并且能够对上传文件的大小、类型等进行限制和管理。下面我们将详细探讨其使用步骤、核心功能以及常见属性和事件。 ...

    Uploadify示例

    总之,"Uploadify示例"是一个使用myeclipse8.5开发的多文件上传解决方案,它基于jQuery和Uploadify插件,提供了一种高效、友好的文件上传体验。通过学习这个示例,你可以了解如何在Web应用中集成和配置Uploadify,...

    uploadify批量上传实例

    这个实例展示了如何在项目中有效地集成Uploadify,以提供用户友好的文件上传体验。以下是对Uploadify批量上传实例的详细解读: 1. **Uploadify介绍**: Uploadify是一个基于Flash和jQuery的开源文件上传组件,它...

    JQuery uploadify 实现批量上传例子

    本篇文章将详细介绍如何使用JQuery uploadify实现批量上传功能,并探讨其核心原理和相关配置。 首先,理解Uploadify的工作机制。Uploadify利用HTML5的File API和Flash技术(对于老版本浏览器的支持)来实现异步文件...

    spring mvc uploadify上传文件

    在本文中,我们将深入探讨如何使用Spring MVC框架与uploadify插件进行文件上传,特别是针对图片的上传。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而uploadify是一款前端JavaScript插件,使得用户...

    uploadify上传插件使用示例java_web

    在使用Uploadify时,首先需要在HTML页面中引入相关的CSS和JavaScript文件,包括uploadify.css和uploadify.js。接下来,我们需要创建一个HTML元素(通常是`&lt;input type="file"&gt;`)并对其进行配置,通过`id`属性指定...

    uploadify实例

    在压缩包中的"例16.1"文件,很可能是包含了一个使用Uploadify的示例代码。通常,这样的例子会包含HTML、CSS和JavaScript代码,演示如何在实际项目中集成和配置Uploadify。通过研究这个示例,你可以更深入地理解...

    Uploadify上传示例

    总结来说,"Uploadify上传示例"是一个演示如何在myeclipse8.5中使用jQuery Uploadify插件进行文件上传的实例。它涉及到的技术包括jQuery插件开发、异步上传、Flash/SWF交互、事件处理、参数配置以及服务器端处理,是...

    文件上传组件 Uploadify-3.1-Demo实例详解

    下面是一段简化的示例代码,展示如何在JSP页面中配置并使用Uploadify: ```jsp *" pageEncoding="UTF-8"%&gt; &lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"&gt; &lt;title&gt;uploadify-实例 ...

    uploadify多图上传实例

    在这个实例中,我们将使用ASP.NET Web Forms,因为它与Uploadify的服务器端处理更匹配。 4. **HTML页面设置**:在HTML页面中,我们需要创建一个input类型的file元素,附加Uploadify的属性,如`swf`(Flash对象的...

    uploadify3.1小示例

    在本文中,我们将深入探讨Uploadify的核心特性、工作原理以及如何使用提供的示例进行开发。 Uploadify 是一个基于jQuery库的文件上传组件,它通过异步方式实现了文件的批量上传,提供了一种友好的用户体验。以下是...

    uploadify使用详细步骤

    《uploadify使用详细步骤》 在网页开发中,文件上传是一个常见的需求,而Uploadify是一款优秀的JavaScript插件,它能够实现异步文件上传,提供友好的用户体验。本文将详细介绍Uploadify的使用步骤,帮助开发者更好...

    uploadify多文件上传例子代码

    本示例代码是关于如何使用uploadify在Java环境中(通过jsp和servlet)实现多文件上传的一个实例。 首先,uploadify是一个基于jQuery的插件,它的核心功能是通过Flash或HTML5技术提供了一种友好的用户界面,让用户...

    SpringMVC搭建,实现数录入和uploadify附件上传下载

    在这个项目中,我们将学习如何利用SpringMVC搭建一个可以实现数据录入以及使用uploadify插件进行附件上传下载的系统。 首先,我们需要配置SpringMVC的环境。这包括创建SpringMVC的配置文件(如`spring-mvc.xml`),...

    uploadify插件的java示例

    本示例将深入探讨如何在Java环境中结合Uploadify进行文件上传操作,同时也会涉及到Servlet的使用。 在Java Web开发中,Servlet是一个服务器端的Java程序,它负责处理HTTP请求并生成HTTP响应。Uploadify插件通过与...

    jquery uploadify上传多附件示例

    在IT领域,jQuery Uploadify是一款广泛使用的JavaScript插件,它允许用户通过网页实现方便快捷的文件上传功能。这个插件特别适用于需要支持多文件选择和上传的场景,比如博客、论坛或者内容管理系统。"jquery ...

    JQuery上传插件Uploadify使用详解

    在ASP.NET环境中使用Uploadify,你需要按照以下步骤进行配置和编码。 首先,创建一个新的Web项目,并命名为`JQueryUploadDemo`。然后,从Uploadify的官方网站获取最新版本的插件包,并将其解压缩到项目中。确保将...

Global site tag (gtag.js) - Google Analytics