`
zhlu32
  • 浏览: 22751 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

Struts2 commons-fileupload 在上传2M以上文件出现异常解决方法

阅读更多

在上传2M以上文件出现异常如下:

[@APPNAME@] ERROR [http-80-3] MultiPartRequest.parse(130) | org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException : the request was rejected because its size (102147245) exceeds the configured maximum (50097152)

[@APPNAME@] ERROR [http-80-3] FileUploadInterceptor.intercept(227) | the request was rejected because its size (102147245) exceeds the configured maximum (50097152)

 

解析:这个最大值是在 struts2 的源文件 “struts2-core-2.0.11.1.jar\org\apache\struts\ default.properties” 中的 struts.multipart.maxSize=2097152 语句,如果想改大的话,就重新设定它,有两种方法:

一种是重写: struts.properties 文件。

二是在 struts.xml 中加入常量来改变它如 “ Java 代码
<constant name="struts.multipart.maxSize" value="10000000" />

 

当然了,也有 struts2 的拦截器可以限制文件的类型、大小等,但是当上传文件大小 2M 后,这个拦截器就不起作用了,只用小于 2M (默认大小)的时候才起作用。那是因为: common-fileupload 组件默认最大支持上传文件的大小为 2M, 当我们上传大于 2M 的文件时,就会出现上面所说的异常。是这个异常的发生导致了 fileUpload 拦截器没有机会执行,所以看到的是页面没有任何变化,也没有任何提示信息,只是在控制台打印出了上面的那些上传文件过大的异常。

 

 

我解决问题的过程:

 

刚开始只是在struts.xml文件最上部加入

<constant name="struts.multipart.maxSize" value="1000000000" />

但还是报同样的错误。

接着查看 struts.properties 文件里的配置为:

### Load custom default resource bundles

struts.custom.i18n.resources= MessageResource

struts.multipart.maxSize= 50097152

 

### character encoding

struts.i18n.encoding= GBK

 

修改

### Load custom default resource bundles

struts.custom.i18n.resources= MessageResource

struts.multipart.maxSize= 1000000000

 

### character encoding

struts.i18n.encoding= GBK

 

问题就解决了。

分享到:
评论

相关推荐

    使用commons-fileupload-1.2.1实现文件上传操作

    1. **添加依赖**:在项目中引入`commons-fileupload-1.2.1.jar`和`commons-io-2.x.jar`(因为FileUpload依赖于Commons IO库)。在Eclipse中,你可以将这两个JAR文件添加到项目的类路径中,以便编译和运行。 2. **...

    commons-fileupload-1.2.1.zip

    这个库在1.2.1版本中提供了一套高效且灵活的工具,帮助开发者处理Web应用程序中的多部分表单数据,即通常在上传文件时遇到的形式。在本文中,我们将深入探讨Apache Commons FileUpload 1.2.1版本的关键特性、工作...

    struts2 文件的上传和下载

    2. **配置Action**:在Struts2的Action类中,需要定义一个字段来接收上传的文件,这个字段通常使用Apache的Commons FileUpload库中的`FileItem`接口或者`FileUploadException`异常类型。 3. **配置Struts2拦截器**...

    struts2 批量上传 图片+文件

    在这个场景中,我们讨论的是如何在Struts2中实现图片和文件的批量上传,并且在上传过程中显示进度条。 批量上传是指用户可以一次性选择多个文件进行上传,而不仅仅是一个文件。这通常需要前端界面支持多选文件的...

    struts2文件上传

    总之,Struts2中的文件上传功能是通过结合Struts2的MVC架构和Apache Commons FileUpload库实现的。开发者需要配置框架,创建上传表单,编写处理上传的Action类,并处理可能出现的异常。"UploadFileDemo"示例可以帮助...

    struts上传多文件

    如果在上传过程中出现错误,可以返回输入页面(`upload.jsp`),让用户重新选择文件。 总之,通过Struts2和Commons FileUpload库,我们可以方便地实现多文件上传功能。关键在于正确配置Action类、Struts2配置文件...

    关于Struts2的文件上传

    同时,不要忘记处理可能出现的异常,如文件大小超出限制或文件类型不匹配。 为了提供用户反馈,可以返回不同的结果代码,比如“success”和“input”。前者表示文件上传成功,可以重定向到一个显示上传结果的页面;...

    struts文件上传

    在Struts中,文件上传主要依赖于`commons-fileupload`和`commons-io`这两个库。在struts-config.xml配置文件中,你需要声明一个处理文件上传的ActionForm,比如`UploadForm`,并在其中定义一个类型为`java.io.File`...

    jsp 文件上传

    3. **文件上传组件**:Struts2使用Apache的Commons FileUpload库来处理文件上传。这个库提供了一组API,可以方便地解析请求中的多部分数据,获取上传文件的信息。 4. **表单设计**:在JSP页面中,我们需要创建一个...

    01_张孝祥09年Struts视频_文件上传单元

    3. **FileUpload组件**:Struts2引入了Apache Commons FileUpload库,用于处理文件上传。这个库能够解析多部分请求,将文件保存到服务器,并处理可能出现的错误,如文件大小限制、类型限制等。 4. **临时文件存储**...

    Struts上传下载

    5. **异常处理**:上传过程中可能出现的异常包括文件大小限制、文件类型限制等,需要进行异常处理并给出相应提示。 6. **验证与保存**:在上传后,可能需要对文件进行验证(如检查文件类型、大小等),然后将文件...

    strts2上传下载

    在Struts2中,文件上传功能主要依赖于`Commons FileUpload`库。为了实现文件上传,首先需要在Struts2的配置文件(struts.xml)中添加相应的拦截器栈,如`params`和`fileUpload`拦截器,确保文件上传数据能够被正确...

    Struts+Spring+Hibernate实现上传下载

    4. **文件上传**:在Struts框架中,通常会使用`FileUpload`库(如Apache Commons FileUpload)来处理文件上传。用户选择文件后,Struts的Action会接收到文件流,然后通过Spring的Service层处理文件存储。这可能包括...

    java ssh小型上传系统

    例如,当用户上传文件时,Spring可以确保文件保存到数据库或文件系统的操作在一个事务中完成,如果出现异常,所有改变都会被回滚。 Hibernate作为ORM(Object-Relational Mapping)工具,简化了数据库操作。在上传...

    jsp 实现的一个文件上传下载系统

    同时,Spring的事务管理功能确保了文件操作的原子性和一致性,比如在上传过程中如果出现异常,Spring可以自动回滚事务,防止数据不一致。 【文件上传实现】: 1. 用户在前端JSP页面选择文件并提交。 2. Struts拦截...

    上传下载源代码

    2. **Struts配置**:在struts.xml配置文件中,为上传操作创建一个Action配置,指定接收请求的类和方法。 3. **文件解析**:使用Apache Commons FileUpload库来解析HTTP请求中的多部分数据,获取上传的文件。 4. **...

Global site tag (gtag.js) - Google Analytics