【问题标题】:CommonsMultipartResolver setMaxUploadSize limits the file size or the request size?CommonsMultipartResolver setMaxUploadSize 是限制文件大小还是请求大小?
【发布时间】:2014-03-13 14:08:01
【问题描述】:

我在理解 setMaxUploadSize 方法时遇到了问题。我认为它应该限制文件大小。但是,如果我将 maxUploadSize 设置为 10 字节,仅出于测试目的,然后我上传了一个 10 字节的文件,该文件将被拒绝并抛出 MaxUploadSizeExceededException。

查看 commons-fileupload 的代码,我了解到它首先测试 Content-Length 标头。由于在我的情况下 Content-Lenght 为 224,因此上传被拒绝。

所以我的问题是:请求正文的大小是有限的还是实际文件的大小?

【问题讨论】:

    标签: spring upload multipart apache-commons-fileupload


    【解决方案1】:

    CommonsMultipartResolver 是 Jakarta Commons DiskFileUpload 的 MultipartResolver 实现。 DiskFileUpload 有 2 个字段: 1) sizeMax - 完整请求的最大允许大小。 2) fileSizeMax - 单个上传文件的最大允许大小。

    CommonsMultipartResolver 将 maxUploadSize 字段实现为:

        public void setMaxUploadSize(long maxUploadSize) {
        this.fileUpload.setSizeMax(maxUploadSize);
    }
    

    这解释了您异常的原因。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-22
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    相关资源
    最近更新 更多