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、不断积累。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当年的春天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值