springboot内嵌tomcat文件上传路径不存在问题原因

news2024/12/28 11:35:53

错误提示:

 临时文件目录被删除,导致文件上传报错,我们使用的是linux系统,10天没有使用,就会被删除

代码: 

 

 

解决办法:

        配置文件中自定义临时文件上传目录

server:
  port: 9090
  tomcat:
    basedir: /crm/tmp

特殊情况:

        当我上传小文件的时候可以上传成功,大文件的时候上传失败

        猜测可能是小文件没有使用临时文件,大文件上传的时候才使用了临时文件,但是这个边界值是在那里控制的呢??

分析整个请求流程:

        tomcat接收到请求  ->  调用springmvc的DispacherServlet -> doDispatch方法里面回去处理文件

问题根本原因:

        这不是tomcat的问题, 而是我们去解析请求中的文件的时候出现的问题;

源码流程:

DispatchServlet.class

文件解析器去处理,

如果spring中没有注册该bean, 这里的multipartResolver对象就是null,就会直接返回request

就会调用到CommonsMultipartResolver.class的方法中来

这里就使用了fileUpload.parseRequest(request); 重点就在这里面

划重点了:

这里使用的是DiskFileItemFactory工厂

DiskFileItemFactory工厂 里面有个sizeThreshold,

this.sizeThreshold = 10240;

注释翻译成中文就是 :

默认阈值,超过该阈值上传内容将存储在磁盘上。

所以当文件超过10k的时候就会使用临时文件了,这也就是为啥临时目录被删除之后,我们上面会出现小文件可以成功上传,大文件上传报错的原因

注释翻译 :

阈值,以字节为单位,低于该阈值,文件将保留在内存中,高于该阈值,它们将作为文件存储。

所以根本原因在这里

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/496041.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

利用Linux的corntab定时任务和shell脚本,解决傻妞卡死、发信息没反应、一直卡在即将重启、查询数据异常等问题

利用Linux的corntab定时任务和shell脚本,解决傻妞卡死、数据异常等问题 安装corntab创建shell脚本添加corntab定时任务 原理 定时杀死傻妞进程,并自动重启傻妞 安装corntab Linux crontab是用来定期执行程序的命令。 CentOS安装命令如下 yum -y insta…

【Android -- 开发工具】Source Insight 4.0 安装和使用教程

简介 Source Insight 工具是一款功能强大的代码阅读器,它能使大量的代码产生联系,方便阅读,而且支持各种语言的程序代码。 安装 & 激活 1. 下载 下载地址 直接点击下载即可,我下载的是 4.0 版本。 然后按照步骤安装完成即…

chatGPT给出Python time.sleep()假死(挂起)的解决办法

1. time.sleep()假死(挂起)的原因与解决办法 最近,使用chatGPT帮着写程序,完成通过API获取天气数据的程序,运行起来后出现了状况:莫名其妙的的假死(程序被挂起来,不执行了&#xff…

项目结构如何改造(利用RuoYi-Vue脚手架开发一个健身房会员管理系统,改造项目结构)

项目结构如何改造(利用RuoYi-Vue脚手架开发一个健身房会员管理系统,改造项目结构) 1. 全局查找替换(Ctrl Shift R)2. 全局查找替换版本号3. 全局查找替换模块名4. 修改项目名5. ShiftF6 重命名模块6. ShiftF6 重命名…

Nginx配置使用GeoIP2模块

一、Nginx简介 Nginx(engine x)是一个免费的、开源的、高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个…

不废话!CentOS 8 安装docker的详细过程

目录 1.更新系统 2. 安装依赖包 3.添加 Docker YUM 仓库 4.安装 Docker 5.启动 Docker 6.设置 Docker 开机自启 7.测试 Docker 1.更新系统 dnf update 这里直接输入y,耐心等待更新即可 直到看到complete表示更新完毕 2. 安装依赖包 Docker 需要一些依赖包才能正常…

什么是工业互联网?5G到底能在工业互联网中承担哪些重任呢?

一. 从消费互联网到工业互联网 在这个互联网如我们生活中的水和电一样无孔不入的时代,不能联网的设备是可耻的。它们像是一个一个的信息孤岛,原始而静寂。 然而50年前,这样的信息孤岛却是这个世界的常态,直到美国阿帕网的诞生…

运营-7.内容模型

在内容产品生态中,核心就是内容,内容驱使着所有的角色运转。具体而言,在整个生态模型中,内容的链条从上游 到下游的环节如下: PGC(Professionally-generated Content)专业生产内容 传统的门户…

最强无监督单目深度估计Baseline--MonoViT--简介与代码复现

1. 无监督单目深度估计 单目深度估计是指,借助于深度神经网络,从单张输入视图中推理场景的稠密深度信息;该技术可以广泛用于自动驾驶、虚拟现实、增强现实等依赖于三维场景感知理解的领域,同时也可以为其他视觉任务提供多模态深度…

部署simple-chat项目

simple-chat介绍:此项目是基于openAI3.5模型的h5端人工智能聊天项目,无需翻墙即可体验。 simple-chat线上地址:simple-chat simple-chat项目地址:GitHub - AMxiaoming/simple-chat nginx部署前端步骤: https://blo…

Android WebRtc+SRS/ZLM视频通话(1):虚拟机安装Ubuntu

Android WebRtcSRS/ZLM视频通话(1):虚拟机安装Ubuntu 来自奔三人员的焦虑日志 秉着没事找事的原则,这里直接从服务器安装开始说起,也当记录自己这一路以来的愚昧之举,由于没有物理服务器,这里以…

使用七牛云进行上传图片

首先我们需要明确上传图片的注意点是什么&#xff1f; 1、表单组件标签只能用<input type"file"> 2、上传图片必须采用post请求 get:参数通过请求头提交到后台&#xff0c;参数放到url后面来提交的只能向后台提交文本数据或者字符串数据&#xff0c;二进制如以…

基于物联网可移动医疗设备智能监测节能应用研讨

智慧医疗、全民健康一直是社会关注的热点之一。医疗卫生体系的发展水平关系到人民群众的身心健康和社会和谐&#xff0c;智慧医疗旨在通过物联网技术实现准确、实时感知医疗信息&#xff0c;并进行全面、科学分析&#xff0c;作出智慧的决策&#xff0c;从而提升医疗服务的信息…

黄金投资品种有哪些,如何选择黄金品种

黄金是国际性的硬通货&#xff0c;具有世界货币的地位和国际都认可的流通性&#xff0c;在金融投资市场中黄金也一直属于热门产品&#xff0c;是全球都认可的避险保值投资产品&#xff0c;人们不管是想保值还是向投资增值都是不错的选择&#xff0c;但黄金投资市场中产品种类多…

前端基于uniapp[uniPush]实现APP消息推送(安卓、IOS)

前提概述&#xff1a;此文章都是基于uniapp中uniPush2实现的在线、离线推送 app消息推送流程 登录开发者中心先填写好项目信息以及配置厂商在manifest.json文件中勾选推送模块在前端项目中创建云函数&#xff08;此云函数的作用是接受后台发送的消息模板&#xff0c;解析出来…

项目中常见的几种策略模式实现方式

前言 本篇文章主要介绍本人在自己项目中和开源项目中策略模式的实现方式 基于spring实现策略模式 最近在使用nacos-sync同步工具时发现其使用了策略模式&#xff0c;下面主要介绍它是如何使用的 实现步骤 2.1 定义接口&#xff1a;SyncService public interface SyncService …

交叉导轨具体应用在哪些领域?

交叉导轨通过采用缩短了滚柱体的间距的R型滚柱保持器这种独特的滚柱保持机制&#xff0c;使滚柱体的有效接触长度增大&#xff0c;且交叉导轨的安装高度更低&#xff0c;由于是两付导轨平行安装组合成为一套&#xff0c;使得交叉导轨的机台整体性要好于直线导轨&#xff0c;倾覆…

5 分钟教你如何免费用上 GPT-4

今天要分享的就是普通用户&#xff0c;没有 OpenAI 账号&#xff0c;不需要写代码&#xff0c;你依然可以免费体验 GPT-4&#xff0c;当然&#xff0c;会有一些缺点&#xff0c;本篇文章将会手把手教你怎么用上免费版的 GPT-4 以及它的一些限制。 第一步&#xff1a;打开 Stea…

嵌入式软考备考_5 嵌入式程序设计

嵌入式程序设计 开发流程 要想某个功能要用硬件还是软件实现&#xff08;硬件快&#xff0c;但是耗资源&#xff09;&#xff1f;BSP&#xff1f;裸机还是OS&#xff1f; 硬件的设计与实现-》设备驱动软件的设计与实现-》os的选择&#xff0c;移植&#xff0c;api接口函数的…

人工智能(Pytorch)搭建模型5-注意力机制模型的构建与GRU模型融合应用

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下人工智能(Pytorch)搭建模型5-注意力机制模型的构建与GRU模型融合应用。注意力机制是一种神经网络模型&#xff0c;在序列到序列的任务中&#xff0c;可以帮助解决输入序列较长时难以获取全局信息的问题。该模型通过…