关于上传文件大小受限问题

这篇具有很好参考价值的文章主要介绍了关于上传文件大小受限问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一般控制台上会出现像这样   ***1048576 bytes.这大小限制

org.springframework.web.multipart.MaxUploadSizeExceededException: Maximum upload size exceeded; nested exception is java.lang.IllegalStateException: org.apache.tomcat.util.http.fileupload.FileUploadBase$FileSizeLimitExceededException: The field file exceeds its maximum permitted size of 1048576 bytes.
	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.handleParseFailure(StandardMultipartHttpServletRequest.java:121)
	at org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.parseRequest(StandardMultipartHttpServletRequest.java:114)

1、问题描述:

      因为上传的file文件超过了spring默认配置的最大值1048576 bytes,上传文件我们通常情况下是使用MultipartFile接口类接收前端上传的文件,可见对于MultipartFile文件的默认限制也是1048576 bytes,即1M。

2、问题分析:

SpringBoot不同的版本,对应的设置参数不同:

Spring Boot 1.3.x and earlier

  • multipart.maxFileSize

  • multipart.maxRequestSize

Spring Boot 1.4.x and 1.5.x

  • spring.http.multipart.maxFileSize

  • spring.http.multipart.maxRequestSize

Spring Boot 2.x

  • spring.servlet.multipart.maxFileSize

  • spring.servlet.multipart.maxRequestSize

3、解决方法

3.1、方法1(在配置文件.yml或者.properties中直接修改参数)

例如我使用的是SpringBoot 2.1.3的版本,然后直接再配置文件中设置参数大小:

#做限制的参数配置
spring:
  servlet:
    multipart:
      enabled: true #默认支持文件上传
      max-file-size: 50MB # 最大支持文件大小
      max-request-size: 50MB # 最大支持请求大小,不可省略

#不做限制的参数配置
spring:
  servlet:
    multipart:
      enabled: true #默认支持文件上传
      max-file-size: -1 #不做限制
      max-request-size: -1 #不做限制

3.2、方法2(自定义config配置类)

将参数配置在远程配置文件中心,如果是配置项目中的配置文件中,那就跟方法1一样了,就没必要再单独写配置类了,将参数配置在远程配置中心,就是为了可以根据临时需求动态修改参数,而不用重启项目。

常见的远程配置文件中心服务有Nacos、Apollo(阿波罗)、SpringCloud等等,我使用的是Nacos配置中心服务:

自定义MultipartFileConfig配置类:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.web.servlet.MultipartConfigFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.util.unit.DataSize;
import javax.servlet.MultipartConfigElement;

/**
 * @author: dh
 * @date: 2023-03-23 15:34:51
 * @description: 
 */
@Configuration
public class MultipartFileConfig {

    @Value("${config.multifile.maxFileSize}")
    private Long maxFileSize;
    @Value("${config.multifile.maxRequestSize}")
    private Long maxRequestSize;

    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        /**
         * 单个数据大小,
         * DataSize.ofMegabytes(maxFileSize)默认是配置字节,将字节转化为MB
         */
        factory.setMaxFileSize(DataSize.ofMegabytes(maxFileSize));
        // 总上传数据大小
        factory.setMaxRequestSize(DataSize.ofMegabytes(maxRequestSize));
        return factory.createMultipartConfig();
    }
}
 

 multipartfile上传文件大小限制,java,tomcat,spring

 这就可以随意控制上传文件大小限制啦!文章来源地址https://www.toymoban.com/news/detail-582927.html

到了这里,关于关于上传文件大小受限问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • springboot项目去除上传文件大小限制

    springboot默认文件大小为: 单个文件大小最大为1MB(不能小写),最多可以上传文件总大小为10MB,就是10个1MB文件。 不设置代码上传文件会报错:The field file exceeds its maximum permitted size of 1048576 bytes. 设置的值是多少就限制为多大 单个文件最大为10M,最多可以有两个10M文件 也可

    2024年02月10日
    浏览(63)
  • Spring Boot 设置上传文件大小限制

    在开发 Web 应用程序时,我们通常需要处理文件上传功能。为了确保系统的安全性和稳定性,我们需要限制上传文件的大小。本篇博客将介绍如何使用 Spring Boot 设置上传文件大小限制。 1. application.properties 配置文件 Spring Boot 提供了一种简单的方式来配置上传文件大小限制。首

    2024年02月04日
    浏览(88)
  • spring boot 上传文件的大小限制

    根据spring boot 版本不同在application.properties文件添加不同的配置 Spring Boot 1.3 或之前的版本,配置: Spring Boot 1.4 版本后配置更改为: Spring Boot 2.0 之后的版本配置修改为: 单位Mb改为MB了: 以上配置直接在配置文件中即可

    2024年02月07日
    浏览(52)
  • nginx文件上传大小限制解决方案

    nginx配置附件上传大小限制。 用 nginx 做代理。上传超过 1M 大的客户端文件无法正常上传, nginx 直接报错,上传文件太大( 413 Request Entity Too Large )于是修改了下 nginx 的配置,就可以了。   client_max_body_size 1024m; 可放在 http 下控制全局大小限制,大小根据需求配置,最大为

    2024年02月17日
    浏览(67)
  • dedecms上传文件大小受限制的修改方法

    织梦dedecms系统上传附件有大小限制,是2M,超过2M的话,就会提示上传失败,那么该如何操作呢? 其实这个还是要根据服务器空间配置进行合理修改,如果服务器或者空间配置较小,建议不要修改太大。否则网站会很卡。 后台首页可以查看当前环境最大上传文件是多大: 织梦

    2024年02月03日
    浏览(75)
  • 如何在 Nginx 中设置文件上传大小限制

    在使用 Nginx 进行文件上传时,我们可能需要对上传文件的大小进行限制,以防止用户上传过大的文件导致服务器负载过高。本文将介绍如何在 Nginx 中设置文件上传大小限制。 要设置文件上传大小限制,我们需要修改 Nginx 的配置文件。打开 Nginx 的配置文件,找到 http 块,添

    2024年02月16日
    浏览(82)
  • MultipartFile上传至服务器,文件名称中文乱码问题

    1.首先查看服务器是否设置为了zh_CN.UTF-8 输入命令:locale  不是则,进行查看服务器上是否有zh_CN.UTF-8 查看所有可以使用的字符编码集 输入命令:locale -a  如果没有可用的zh_CN.UTF-8 则进行安装: CentOS命令:yum install kde-l10n-Chinese -y  ubuntu命令:sudo apt-get install language-pack-zh-ha

    2024年02月10日
    浏览(42)
  • el-upload上传文件类型大小限制+手动上传+通过后端给的接口带参数

      本地上传文件类型只能是 xml 和 a2l 的 做多上传个数为2个 可以多选上传 每种格式最多上传一个文件 上传为手动上传到服务器 上传错误有相应的提示   首先上传为手动上传那么文件类型我是打算在选取文件到前端页面的过程中我就处理文件 或者也    可以在上传服务器的

    2024年02月08日
    浏览(111)
  • HBuilderx 坑 之前没问题 改了几行代码 小程序上传报分包大小超过限制

      目录 Error: 分包大小超过限制,main package source size 4199KB exceed max limit 2MB [20221008 16:08:06][wx432abdb518bdc1eb] 本文重点来了!! 如题:小程序,只改了几行代码,上传报主包超过限制,简直有毒,估计很多人都遇到过此类情况,官方解释的优化方案也不是很好用,但是今天我试了一

    2024年02月16日
    浏览(54)
  • Git文件过大我们应该怎么办?为什么git限制上传文件大小不超过100M?

    持续学习总结输出中,随着我们存储的文件数据越来越多,我们的Git仓库所维护的文件大小也会越来越大。当出现 Git 文件过大的情况时,我们应该怎么办呢? Git 对我们上传的文件大小是有限制的。默认限制最大的单文件100M,Git对单个文件的大小限制是在 100MB ~ 1GB 之间。这

    2024年02月04日
    浏览(63)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包