建站教程

建站教程

Products

当前位置:首页 > 建站教程 >

SpringBoot实战(十一):多文件上传异常解决方案(WordPress “上传的文件尺寸超过php.ini中定义的upload_max_filesize值。”解决办法)

GG网络技术分享 2025-03-18 16:13 0


SpringBoot实战(十一):多文件上传异常解决方案

强烈推荐一个大神的人工智能的教程:http://www.captainbed.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、不断积累。

WordPress “上传的文件尺寸超过php.ini中定义的upload_max_filesize值。”解决办法

WordPress “上传的文件尺寸超过php.ini中定义的upload_max_filesize值。”解决办法

经常有用户在WordPress主题安装过程中会遇到提示:“上传的文件尺寸超过php.ini中定义的upload_max_filesize值。”,如图所示:

WordPress “上传的文件尺寸超过php.ini中定义的upload_max_filesize值。”解决办法

图中的提示内容已经非常明确的告知了错误原因,就是网站的服务器PHP配置文件php.iniupload_max_filesize值设置比较小导致的。一般发生此错误的服务器默认设置为2M,所以需要修改php.ini文件来修改配置。

修改方法

(云)服务器/VPS

如果您网站是购买的云服务器,比如阿里云、腾讯云,则可以自己修改服务配置文件,也就是编辑php.ini文件,修改upload_max_filesize的值,具体改为多少可以根据自己正常上传文件大小来设置,比如8M。然后重启服务器。

修改的方法比较简单,不过大部分用户的问题在于php.ini文件的路径无法准确确定。如果是windows服务器,则可以直接用文件管理器搜索文件名即可。如果是linux系统,可以使用命令:find / -name php.ini

虚拟主机

虚拟主机一般都会有主机管理界面,正常都是有选项可以进行设置的,比如我们常见的阿里云/万网、西部数码的虚拟主机,都是有直接在管理面板设置,具体可以咨询您的主机服务商。阿里云设置如图:

WordPress “上传的文件尺寸超过php.ini中定义的upload_max_filesize值。”解决办法

标签:

提交需求或反馈

Demand feedback