gpt4 book ai didi

file-upload - Struts 2 文件上传拦截器配置问题

转载 作者:行者123 更新时间:2023-12-04 02:45:32 27 4
gpt4 key购买 nike

尝试在我的应用程序中配置 Struts 2 文件上传拦截器时遇到两个问题。我想更改参数 maximumSize (默认值是 2 MB,我需要它是 5 MB)和消息资源 struts.messages.error.file.too.large (应用程序语言环境是 pt_BR,所以消息是葡萄牙语,而不是英语)。

应用程序当前配置如下:

struts.properties

struts.locale=pt_BR 
struts.custom.i18n.resources=MessageResources

struts.xml
<package name="default" namespace="/" extends="struts-default">
<interceptors>
<interceptor name="login" class="br.com.probank.interceptor.LoginInterceptor"/>
<interceptor-stack name="defaultLoginStack">
<interceptor-ref name="login" />
<interceptor-ref name="defaultStack"/>
</interceptor-stack>
</interceptors>

<default-interceptor-ref name="defaultLoginStack" />
...
</package>

...
<package name="proposta" namespace="/proposta" extends="default">
<action name="salvarAnexoProposta" method="salvarAnexoProposta" class="br.com.probank.action.AnexoPropostaAction">
<interceptor-ref name="defaultLoginStack">
<param name="fileUpload.maximumSize">5242880</param>
</interceptor-ref>
<result name="success">/jsp/listagemAnexosPropostaForm.jsp</result>
<result name="input">/jsp/crudAnexoPropostaForm.jsp</result>
<result name="error">/jsp/error.jsp</result>
<result name="redirect" type="redirect">${redirectLink}</result>
</action>
</package>

MessageResources.properties
...
struts.messages.error.file.too.large=O tamanho do arquivo...

我的 Action 实现和我的 JSP 代码没有什么特别之处。他们遵循发现的例子 http://struts.apache.org/2.1.6/docs/file-upload-interceptor.html .当我尝试上传超过 5 MB 的文件时,应用程序会显示消息“请求被拒绝,因为其大小 (6229458) 超过了配置的最大值 (2097152)”——默认的文件上传消息具有默认的 maximumSize 值。

我试着把消息资源 struts.messages.error.file.too.large在 struts-messages.properties 中,但此后消息没有改变。配置文件上传拦截器的正确方法是什么?我正在使用 Struts 2 2.1.7。提前致谢。

最佳答案

终于解决了整个难题! struts.xmlMessageResource.properties已正确配置。问题是 struts.multipart.maxSize .此值必须大于所需的上传限制(在我的应用程序中为 5242880),因此我将其设置为 10000000。如果 struts.multipart.maxSize值等于或小于 fileUpload.maximumSize Struts 2 用于上传的库在文件上传拦截器有机会完成其工作之前停止上传过程(并写入错误消息)。

关于file-upload - Struts 2 文件上传拦截器配置问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1445791/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com