`
喧嚣求静
  • 浏览: 580295 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

spring mvc CommonsMultipartResolver文件上传maxUploadSize限制大小

 
阅读更多
第一步:配置sping
<bean id="multipartResolver"
          class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!--1024*200即200k-->
        <property name="maxUploadSize" value="204800"/>
        <!--resolveLazily属性启用是为了推迟文件解析,以便在UploadAction 中捕获文件大小异常-->
        <property name="resolveLazily" value="true"/>  
    </bean>

第二步:在上传action中自己捕获异常
 @RequestMapping
	public void execute(
			@RequestParam(required = false) MultipartFile file,
			@RequestParam(value = "file_info_id", required = false) Integer fileInfoId,
			ModelMap model, HttpServletRequest request) throws Exception {
			
		if (file == null || file.isEmpty()) {
			return;
		}
		byte[] bytes = file.getBytes();
			……………………
………………
}
  @ExceptionHandler(Exception.class)       
    public ModelAndView handleException(Exception ex,HttpServletRequest request) {     
    	 Map<Object, Object> model = new HashMap<Object, Object>();
    	 if (ex instanceof MaxUploadSizeExceededException){
    		            model.put("errors", "文件应不大于 "+
    		           getFileKB(((MaxUploadSizeExceededException)ex).getMaxUploadSize()));
    		         } else{
    		            model.put("errors", "不知错误: " + ex.getMessage());
    		        }
    	 return new ModelAndView("/common/file/upload", (Map) model);
    			
    }  
    
    private String getFileKB(long byteFile){
    	if(byteFile==0)
    	   return "0KB";
    	long kb=1024;
    	return ""+byteFile/kb+"KB";
    }
    private String getFileMB(long byteFile){
    	if(byteFile==0)
     	   return "0MB";
     	long mb=1024*1024;
     	return ""+byteFile/mb+"MB";
    }


第三步:界面
<script type="text/javascript">
$(function() {
	$('#frmupload1').submit(function() {
		if ($('#file1').val() == '') {
			alert('请选择上传导入文件!');
			$('#file1').focus();
			return false;
		}else{
			if(!isvalidatefile($('#file1').val()))
				  return false;
				
		}
	});
	$('#frmupload2').submit(function() {
		if ($('#file2').val() == '') {
			alert('请选择上传导入文件!');
			$('#file2').focus();
			return false;
		}else{
			if(!isvalidatefile($('#file2').val()))
				  return false;
				
		}
	});
});

function isvalidatefile(obj) {
	
	var extend = obj.substring(obj.lastIndexOf(".") + 1);
	//alert(extend);
	if (extend == "") {
	} else {
		if (!(extend == "xls" )) {
			alert("请上传后缀名为xls(Excel2003)或xlsx(Excel2007)的文件!");
			
			return false;
		}
	}
	return true;
}
<body>
<h1>上传文件</h1>
<form action="" method="post" enctype="multipart/form-data" onsubmit="return checkSubmit();">

	<p>请选择文件:</p>
	
	<p ${not empty errors ?"style='color : red;'":""}>${errors}</p>
	<input type="file" name="file" id="file"/>&nbsp;<input type="submit" value="确定"/>
</form>
</body>


参考来源:
spring MVC上传文件使用了common.fileupload组件
使用Spring MVC和注释配置来实现文件上传
分享到:
评论
1 楼 YLCCMM 2015-10-30  
按照楼主这样是可以页面是可以完成效果,但是后台依旧会报错打印出错误信息,如何不显示错误信息呢?

相关推荐

    spring mvc上传文件

    1. **文件大小限制**:根据业务需求,你可以调整`CommonsMultipartResolver`中的`maxUploadSize`以限制上传文件的大小。 2. **文件类型检查**:在Controller中检查文件类型,只允许特定类型的文件上传。 3. **错误...

    Spring MVC文件上传大小和类型限制以及超大文件上传bug问题

    在Spring MVC框架中,文件上传是一项常见的功能,但同时也需要考虑一些安全性与性能的问题,比如文件大小限制和文件类型检查。本篇文章将深入探讨如何在Spring MVC中设置这些限制,并解决超大文件上传可能导致的bug...

    Spring MVC实现文件的上传下载

    Spring MVC 是一个强大...接下来,我们需要配置一个`CommonsMultipartResolver`作为Spring MVC的多部分解析器,以支持文件上传。在`web.xml`或Spring Boot的配置文件中,添加以下配置: ```xml &lt;!-- web.xml 示例 --&gt; ...

    Spring CommonsMultipartResolver 上传文件

    通过以上步骤,我们可以利用Spring MVC和`CommonsMultipartResolver`实现文件上传功能。这个过程涉及了Spring的依赖注入、HTTP请求处理、文件I/O以及错误处理等多个核心概念,对于理解和实践Spring MVC应用程序的...

    spring mvc 文件上传 代码完整版

    在Spring MVC中实现文件上传,首先需要在`web.xml`配置文件中添加MultipartResolver,通常是`CommonsMultipartResolver`,这是Spring MVC处理文件上传的关键组件。它依赖于Apache Commons FileUpload库,需要将其...

    Spring MVC文件上传下载

    1. **文件大小限制**:限制上传文件的大小,防止DoS攻击。 2. **文件类型检查**:验证上传文件的类型,防止恶意文件如`.jsp`、`.php`等被执行。 3. **文件名安全**:避免使用用户提供的文件名,防止路径遍历攻击。 4...

    Spring MVC文件上传

    在Spring MVC框架中,文件上传是一项常见的功能,它允许用户通过Web界面上传本地文件到服务器。这篇文章将深入探讨如何在Spring MVC中实现文件上传,并基于提供的链接和文件名称列表进行详细解析。 首先,理解文件...

    spring mvc 附件上传代码

    - `maxUploadSize`属性限制了单个文件的最大上传大小为100MB(104857600字节)。 - `maxInMemorySize`属性设置了文件在内存中的最大大小为4KB(4096字节),超过该值后将被写入临时文件。 2. **请求映射器**: -...

    spring mvc uploadify上传文件

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

    Spring-MVC的文件上传,下载的技术攻克

    Spring MVC 是一个强大的...在Spring MVC中,文件上传主要依赖于`CommonsMultipartResolver`,这是Apache Commons FileUpload库的一个包装器。为了启用文件上传,我们需要在Spring的配置文件中添加以下配置: ```xml ...

    spring mvc实现文件上传并携带其他参数的示例

    为了处理文件上传,我们需要在Spring MVC的配置文件(如`spring-mvc.xml`)中添加MultipartResolver,例如使用`CommonsMultipartResolver`: ```xml &lt;bean id="multipartResolver" class="org.springframework.web....

    第五章 Spring MVC 文件上传

    在文件上传过程中,Spring MVC会调用`CommonsMultipartResolver`解析多部分请求,创建`MultipartFile`对象。`MultipartFile`接口提供了获取文件名、大小、是否为空以及读取内容的方法。在实际应用中,我们还需要...

    spring mvc核心包(包含文件上传)

    在Spring MVC的配置中,需要设置最大上传文件大小和总请求大小,例如: ```xml &lt;bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"&gt; &lt;property name="...

    spring mvc文件上传下载实例

    1. **配置MultipartResolver**:为了处理文件上传,Spring MVC需要一个`MultipartResolver`,通常是`CommonsMultipartResolver`,它是基于Apache Commons FileUpload库的。在Spring配置文件中,我们需要添加以下配置...

    spring MVC 上传 &下载

    3. **异常处理**:当上传的文件大小超过了配置的最大值时,Spring MVC会抛出`MaxUploadSizeExceededException`异常。可以通过配置异常处理器来处理这种情况,并跳转到特定的错误页面。 ```xml ...

    8-Spring-mvc-文件上传1

    在这个配置中,`defaultEncoding`属性确保了正确解析表单数据,`maxUploadSize`限制了上传文件的大小,超出此限制将抛出异常。`uploadTempDir`指定了临时存储上传文件的目录,当文件被处理完后,这些临时文件会自动...

    spring MVC +Mybatis实现的文件上传

    Spring MVC作为Spring框架的一部分,提供了强大的MVC(模型-视图-控制器)架构支持,而Mybatis则是一个轻量级的持久层框架,两者结合可以高效地处理文件上传和数据库操作。 首先,我们需要在Spring MVC的配置文件中...

    SpringMVC文件上传Demo代码

    此外,为了处理可能出现的文件大小限制、文件类型验证等需求,你可以在控制器方法中添加额外的逻辑。例如,你可以检查文件的大小,或者使用`file.getContentType()`来验证文件类型。 这个"SpringMVC文件上传Demo...

    spring mvc 多附件上传

    此外,为了确保文件上传的安全性和稳定性,我们可能还需要配置Spring MVC的MultipartResolver,比如使用`CommonsMultipartResolver`,设置最大文件大小和总的上传大小限制。这可以在Spring的配置文件中完成: ```...

    springMVC 文件上传jar文件及源码

    在Spring MVC框架中,文件上传是一项常见的功能,用于接收用户通过表单提交的文件数据。在本主题中,我们将深入探讨如何使用Spring MVC的`fileupload`模块来实现这一功能,以及相关的源码分析。 首先,我们需要理解...

Global site tag (gtag.js) - Google Analytics