SpringBoot实战(十一):MultipartException: Could not parse multipart servlet request

简介: SpringBoot实战(十一):MultipartException: Could not parse multipart servlet request

强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan


【前言】


      有个在线上跑了一段时间的上传文件的程序报错,查了些资料,最终通过设置上传文件的临时路径解决此问题,在此与大家共享。


【问题解决之路】


        一、报错信息


        org.springframework.web.multipart.MultipartException: Could not parse multipart servlet request; nested exception is        java.io.IOException: The temporary upload location[/tmp/tomcat.53876517222872.8078/work/Tomcat/localhost/ROOT] is not valid


        二、问题解决思路增加上传的配置类(其中最主要是 factory.setLocation(uploadTmp))


/*
 * Copyright (c) 2019. zhanghan_java@163.com All Rights Reserved.
 * 项目名称:实战SpringBoot
 * 类名称:MultipartConfig.java
 * 创建人:张晗
 * 联系方式:zhanghan_java@163.com
 * 开源地址: https://github.com/dangnianchuntian/springboot
 * 博客地址: https://blog.csdn.net/zhanghan18333611647
 */
package com.zhanghan.zhboot.config;
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 org.springframework.web.multipart.commons.CommonsMultipartResolver;
import javax.servlet.MultipartConfigElement;
@Configuration
public class MultipartConfig {
    @Value("${upload.maxFileSize}")
    private String uploadMaxFileSize;
    @Value("${upload.MaxRequestSize}")
    private String uploadMaxRequestSize;
    @Value("${upload.tmp}")
    private String uploadTmp;
    @Bean
    public MultipartConfigElement multipartConfigElement() {
        MultipartConfigFactory factory = new MultipartConfigFactory();
        factory.setMaxFileSize(DataSize.ofMegabytes(Long.parseLong(uploadMaxFileSize)));
        factory.setMaxRequestSize(DataSize.ofMegabytes(Long.parseLong(uploadMaxRequestSize)));
        factory.setLocation(uploadTmp);
        return factory.createMultipartConfig();
    }
    @Bean
    public CommonsMultipartResolver multipartResolver() {
        return new CommonsMultipartResolver();
    }
}


        三、项目地址及代码版本:


              1、地址:https://github.com/dangnianchuntian/springboot


              2、代码版本:1.4.0-Release


【总结】


        1、实战出真知;


        2、不断积累。


相关文章
|
6月前
|
JSON 前端开发 Java
前端请求SpringBoot接口出现Required request body is missing
前端请求SpringBoot接口出现Required request body is missing
311 2
|
6月前
|
Java
【极问系列】springBoot集成elasticsearch出现Unable to parse response body for Response
【极问系列】springBoot集成elasticsearch出现Unable to parse response body for Response
871 2
|
6月前
|
Java 应用服务中间件 Spring
SpringBoot出现 java.lang.IllegalArgumentException: Request header is too large 解决方法
SpringBoot出现 java.lang.IllegalArgumentException: Request header is too large 解决方法
234 0
|
5月前
|
前端开发 安全 Java
Java服务器端开发实战:利用Servlet和JSP构建动态网站
【6月更文挑战第23天】**Servlet和JSP在Java Web开发中扮演关键角色。Servlet处理业务逻辑,管理会话,JSP则结合HTML生成动态页面。两者协同工作,形成动态网站的核心。通过Servlet的doGet()方法响应请求,JSP利用嵌入式Java代码创建动态内容。实战中,Servlet处理数据后转发给JSP展示,共同构建高效、稳定的网站。虽然新技术涌现,Servlet与JSP仍为Java Web开发的基石,提供灵活且成熟的解决方案。**
72 8
|
5月前
|
Java 应用服务中间件 微服务
spring boot 中Feign调用提示Request header is too large 解决方案
spring boot 中Feign调用提示Request header is too large 解决方案
224 1
|
6月前
|
存储 Java 应用服务中间件
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(2)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
67 2
|
6月前
|
Web App开发 XML Java
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解(1)
Servlet执行流程&生命周期&方法介绍&体系结构、Request和Response的功能详解
111 2
|
6月前
|
应用服务中间件 Linux
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nes
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nes
153 0
|
6月前
|
Java
[SpringBoot] 8. aop 获取 request response
[SpringBoot] 8. aop 获取 request response
195 1
|
6月前
Request通用方式获取请求参数及Servlet模板创建
Request通用方式获取请求参数及Servlet模板创建
53 0