首页 > 其他分享 >SpringBoot使用ServletFileUpload上传文件时servletFileUpload.parseRequest(request)为空

SpringBoot使用ServletFileUpload上传文件时servletFileUpload.parseRequest(request)为空

时间:2022-11-18 14:22:36浏览次数:53  
标签:1024 SpringBoot Boot 上传 request file servletFileUpload parseRequest ServletFileU

1. 问题描述

1.1 SpringBoot使用ServletFileUpload上传文件时 List<FileItem> items = servletFileUpload.parseRequest(request)为空

 // 获取ServletFileUpload
ServletFileUpload servletFileUpload = getServletFileUpload();
List<FileItem> items = servletFileUpload.parseRequest(request);
/**
     * 获取ServletFileUpload
     */
    private ServletFileUpload getServletFileUpload() {
        // 设置缓冲区大小,先读到内存里在从内存写
        DiskFileItemFactory factory = new DiskFileItemFactory();
        factory.setSizeThreshold(1024);
        File file = new File(uploadPath);
        // 如果文件夹不存在则创建
        if (!file.exists() && !file.isDirectory()) {
            file.mkdirs();
        }
        factory.setRepository(file);
        // 解析
        ServletFileUpload upload = new ServletFileUpload(factory);
        // 设置单个大小与最大大小
        upload.setFileSizeMax(1 * 1024 * 1024 * 1024L);
        upload.setSizeMax(10 * 1024 * 1024 * 1024L);
        return upload;
}

2. 问题原因

Spring Boot中有默认的文件上传组件,在使用ServletFileUpload时需要关闭Spring Boot的默认配置

3. 解决方法

修改 application.yml 文件

spring:
  servlet:
    multipart:
      # Spring Boot中有默认的文件上传组件,在使用ServletFileUpload时需要关闭Spring Boot的默认配置
      enabled: false

 

标签:1024,SpringBoot,Boot,上传,request,file,servletFileUpload,parseRequest,ServletFileU
From: https://www.cnblogs.com/liyhbk/p/16809544.html

相关文章

  • Springboot项目java -jar 启动jar包参数详解
    Windows1、指定端口java-jarspringboot.jar--server.port=81812、指定配置文件java-jarspringboot.jar--spring.profiles.active=dev3、同时指定端口与配置文件ja......
  • 用SpringBoot 实现断点续传 (HTTP)
    ​ 前言文件上传是一个老生常谈的话题了,在文件相对比较小的情况下,可以直接把文件转化为字节流上传到服务器,但在文件比较大的情况下,用普通的方式进行上传,这可不是一个好......
  • Redisson在SpringBoot的使用配置
    本文介绍如何在SpringBoot中配置Redisson官网网址redisson-spring-boot-starter配置方案:redisson/redisson-spring-boot-starteratmaster·redisson/redisson·Git......
  • springboot自动填充配置(创建更新时间)
    springboot自动填充配置很多数据库的表大多都会设置两个固定的字段:create_time和update_time而每次进行业务操作比如更新或插入数据的时候,都要给这两个字段插入数据。......
  • SpringBoot整合Junit,MyBatis, druid
    整合JUnit在要测试的类前加上@Respository     在里面写要测试的类名  整合MyBatis:1.创建的时候勾选上mybatisframework,sql.spring就自动创建了depa......
  • springboot 配置 OpenFeign 时报错:Servlet.service() for servlet [dispatcherServlet
    报错内容如下:2022-11-1801:55:18.998ERROR22220---[nio-8086-exec-4]o.a.c.c.C.[.[.[/].[dispatcherServlet]:Servlet.service()forservlet[dispatcherServlet......
  • request(请求)和response(响应)
    request:获取请求数据如网页上输入的信息response:设置响应数据如设置网页显示的信息  如上图,在deGet方法中使用了request来获取页面中的name值,使用response来输出r......
  • Java:SpringBoot整合hibernate-validator实现入参数据校验
    本文仅实现了api接口基本的参数校验,还有更多的校验场景,可以参考文章底部的参考链接使用starter创建SpringBoot项目,并添加依赖依赖<properties><java.version>1.8<......
  • 创建SpringBoot项目的四种方式
    方式一:Idea联网版步骤一:  步骤二:  然后根据自己的需要修改信息,然后进入下一步; 步骤三:  根据项目需要选择依赖,最后点击Next,就能生成项目。若方式一不......
  • springboot 连接 redis 超时以及无法连接的解决方案
    连接的时候遇到了两个问题:一是超时,二是连接不上。网上看到了很多方法,但是比较杂乱,新手不是很懂问题出在哪里,所以写了一下自己的解决问题的心得。超时超时的原因:1.保护模......