t:inputFileUpload在提交大文件时没有提交表单

时间:2014-09-11 10:35:41

标签: jsf file-upload tomahawk

我正在使用tomahawk的fileupload组件,如下所示:

<t:inputFileUpload id="uploadFile" storage="file" size="60" value="#{"bean.uploadedFile}" />

web.xml将过滤器定义为

  <filter>
        <filter-name>Extensions Filter</filter-name>
        <filter-class>org.apache.myfaces.webapp.filter.ExtensionsFilter</filter-class>
        <init-param>
            <param-name>uploadMaxFileSize</param-name>
            <param-value>5g</param-value>
        </init-param>
        <init-param>
            <param-name>uploadThresholdSize</param-name>
            <param-value>5m</param-value>
        </init-param>
    </filter>

此外,表单编码类型设置为“multipart / form-data”,并使用“h:commandButton”提交。

现在,当我提供大小超过1 GB的文件时,表单提交根本不会发生。此外,我没有在控制台上看到任何错误/异常。低于1 GB的文件会成功上传。

另一个奇怪的行为是,如果我将“uploadMaxFileSize”减少为“3g”,即使1 GB文件也无法上传,但512 MB上传成功。

我正在努力奋斗这几天。如果有人知道,请告诉我。

1 个答案:

答案 0 :(得分:0)

以MB而不是GB指定uploadMaxFileSize。如果我将其指定为2000m,它会正确选择并允许上传最大2GB的文件,但如果将相同的值指定为2g,则无法正常工作。

这可能是t:inputFileUpload组件中有关如何验证文件大小的错误。