`

Struts2文件上传的大小限制问题

 
阅读更多
1.第一种方法:
解决:修改struts.xml文件中的参数如下
<constant name="struts.multipart.maxSize" value="55000000"/>

<action name="UploadFile" class="com.buptisc.srpms.action.UploadFileAction">
            <result name="UploadFileResult">/pages/ShowOtherFiles.jsp</result>
            <result name="JGBsuccess">/pages/JGBdetail.jsp</result>
            <interceptor-ref name="fileUpload">
                <param name="savePath">/data</param>  
                <param name="maximumSize">52428800</param> 
            </interceptor-ref>
            <interceptor-ref name="defaultStack"></interceptor-ref>
</action>

 

struts.xml文件中的大小与实际文件大小的关系:1048576(Bytes) = 1024*1024 = 1M实际文件大小.

 

struts.multipart.maxSize掌控整个项目所上传文件的最大的Size
struts.multipart.maxSize和fileUpload拦截器的maximumSize属性分工不同,总结如下:
1.struts.multipart.maxSize掌控整个项目所上传文件的最大的Size。超过了这个size,后台报错,程序处理不了如此大的文件。fielderror里面会有如下的提示:
the request was rejected because its size (16272982) exceeds the configured maximum (9000000)
2.fileUpload拦截器的maximumSize属性必须小于struts.multipart.maxSize的值。
struts.multipart.maxSize默认2M,当maximumSize大于2M时,必须设置struts.multipart.maxSize的值大于maximumSize。
3.当上传的文件大于struts.multipart.maxSize时,系统报错
当上传的文件在struts.multipart.maxSize和maximumSize之间时,系统提示:
File too large: file "MSF的概念.ppt" "upload__5133e516_129ce85285f__7ffa_00000005.tmp" 6007104 
当上传的文件小于maximumSize,上传成功。
2.第二种方法:

Struts2中文件过大上传失败问题解决方案he request was rejected because its size (XX) exceeds

转-----Struts2中文件过大上传失败问题解决方案he request was rejected because its size (102147245) exceeds the configured maximum (50097152)

2011-10-31 16:13:39| 分类:Working notes| 标签:struts2文件过大上传文件解决size|字号大中小订阅

在上传94M的视频出现异常如下:
[@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拦截器没有机会执行,所以看到的是页面没有任何变化,也没有任何提示信息,只是在控制台打印出了上面的那些上传文件过大的异常。
<action name="UploadFile" class="com.buptisc.srpms.action.UploadFileAction">
           
<result name="UploadFileResult">/pages/ShowOtherFiles.jsp</result>
           
<result name="JGBsuccess">/pages/JGBdetail.jsp</result>
           
<interceptor-ref name="fileUpload">
               
<param name="savePath">/data</param> 
               
<param name="maximumSize">52428800</param>
           
</interceptor-ref>
           
<interceptor-ref name="defaultStack"></interceptor-ref>
</action>

我解决问题的过程:

刚开始只是在struts.xml文件最上部加入
<constant name="struts.multipart.maxSize" value="1000000000" />
但还是报同样的错误。

接着查看struts.properties文件里的配置为:### Load custom default resource bundlesstruts.custom.i18n.resources=MessageResourcestruts.multipart.maxSize=50097152
### character encodingstruts.i18n.encoding=GBK
修改为
### Load custom default resource bundlesstruts.custom.i18n.resources=MessageResourcestruts.multipart.maxSize=1000000000
### character encodingstruts.i18n.encoding=GBK
分享到:
评论

相关推荐

    struts文件上传大小限制问题

    本篇文章将详细探讨Struts文件上传大小限制的问题。 首先,我们需要理解文件上传的基本流程。在Struts中,当用户通过表单提交文件时,数据会被封装到`ActionForm`对象中,然后由Struts的控制器组件处理。默认情况下...

    struts2文件上传下载源代码

    在Struts2中,文件上传和下载是常见的功能需求,特别是在处理用户交互和数据交换时。这篇博客文章提供的"struts2文件上传下载源代码"旨在帮助开发者理解和实现这些功能。 文件上传功能允许用户从他们的设备上传文件...

    struts+spring文件上传大小限制.rar

    总结,"struts+spring文件上传大小限制.rar"的内容可能包含了如何在Struts和Spring框架下设置文件上传大小限制的示例代码或配置文件,帮助开发者解决在实际项目中遇到的此类问题。理解并掌握这些知识对于开发安全、...

    struts文件上传大小限制

    一、Struts文件上传大小限制的配置 1. **struts-default.xml配置** 在Struts2框架中,我们可以通过修改`struts-default.xml`或自定义的配置文件来设置文件上传的最大大小。在`&lt;constant&gt;`标签中,可以设置以下两个...

    struts2实现文件上传下载

    在`struts.xml`配置文件中,为需要支持文件上传的Action添加`params`和`fileUpload`拦截器,并设置允许的最大上传大小。例如: ```xml &lt;package name="default" namespace="/" extends="struts-default"&gt; ...

    struts2文件上传jar

    `FileItem` 是Apache Commons FileUpload提供的类,它可以更精细地控制文件上传的细节,如文件大小限制、文件类型检查等。而`File` 对象则对应于服务器上的临时文件路径,通常在Action执行完毕后,你需要将文件移动...

    struts2文件上传实例

    1. **.struts2配置**:在Struts2框架中,需要在`struts.xml`配置文件中添加相应的action配置,声明文件上传的处理方法。通常,你需要设置`&lt;result&gt;`类型为`stream`,以便处理上传的文件。 2. **Action类**:创建一...

    struts2文件上传,文件大小设置

    综上所述,Struts2文件上传功能的大小设置主要通过配置`FileUploadInterceptor`来实现,结合拦截器栈和Action配置,可以灵活地控制文件上传的大小限制,并提供友好的错误处理。在实际开发中,确保正确配置这些参数,...

    JavaEE Struts文件上传

    JavaEE Struts 文件上传是Web开发中的...在实际应用中,确保文件上传的健壮性和安全性是至关重要的,比如防止文件覆盖、大小限制、非法文件类型上传等问题。通过实践和不断学习,开发者可以更好地理解和运用这一功能。

    简单易懂的struts2文件上传

    在实际应用中,你还需要考虑文件上传可能遇到的问题,如文件大小超出限制、文件类型不合法等。这些可以通过自定义异常处理或在Action类中抛出异常来实现。 8. **安全注意事项** 在处理文件上传时,确保对文件名...

    struts2文件上传

    在Struts2框架中,文件上传是通过特定的拦截器实现的,这些拦截器处理了文件上传请求并提供了安全性和大小限制。下面将详细讨论这个主题。 首先,我们来看配置拦截器的部分。在Struts2中,`struts.xml`是配置文件,...

    struts2文件上传和下载

    在Struts2中,文件上传和下载是常见的功能需求,对于用户交互和数据交换至关重要。以下是对这些知识点的详细阐述: 1. **文件上传**: 在Struts2中,文件上传主要依赖于`Commons FileUpload`库,它是一个Apache提供...

    struts2 文件上传

    此外,对于大型应用,还需要考虑并发上传、文件大小限制、文件类型验证等安全问题,以防止恶意攻击。 通过以上步骤,你就可以在Struts2框架中实现基本的文件上传功能了。然而,实际开发中可能需要根据项目需求进行...

    struts2文件上传例子.rar

    在“struts2文件上传例子.rar”这个项目中,开发者已经使用Struts2.0框架实现了一个简单的文件上传功能。MyEclipse 6.6是一个集成开发环境,支持Java EE项目开发,可以直接导入该项目进行运行和调试。 首先,我们...

    Struts2文件上传源码

    然而,实际应用中可能需要考虑更多细节,如文件大小限制、类型检查、安全问题(防止文件覆盖、恶意文件上传等)。对于更复杂的需求,可以利用Struts2的拦截器和插件来扩展功能,或者考虑使用其他专门处理文件上传的...

    swfuplaod+struts2实现多文件上传

    结合Struts2,一个流行的Java Web框架,可以构建出高效、用户友好的文件上传功能。下面将详细介绍如何利用SWFUpload与Struts2来实现多文件上传。 **一、SWFUpload组件介绍** SWFUpload 是一个JavaScript库,它利用...

    Struts2文件上传下载和表单重复提交问题

    文件上传功能在Struts2中通过`Struts2`提供的插件来实现,主要依赖于`Apache Commons FileUpload`库。首先,要在`struts.xml`配置文件中启用文件上传支持,设置`struts.multipart.parser`为`jakarta`或`native2...

    struts2+jquery+ajax文件异步上传

    在实际应用中,文件上传通常需要处理一些额外的问题,如文件大小限制、文件类型检查等。在Struts2的配置文件中,我们可以定义这些规则,例如限制上传文件的大小,只接受特定类型的文件(如图片、文档等)。此外,...

    Struts2文件上传程序示例

    Struts2文件上传程序是一个典型的企业级Web应用开发中的功能,它允许用户通过网页将本地文件上传到服务器。Struts2作为一款强大的MVC(Model-View-Controller)框架,提供了丰富的功能支持,包括文件上传。这个示例...

Global site tag (gtag.js) - Google Analytics