使用transferTo上传文件容器为jetty的问题
报错
springboot 内嵌的 tomcat替换jetty 9.4.44 后出现的问题。
jetty容器使用transferTo 上传问题会提示找不到文件。
ava.io.FileNotFoundException: C:\Users\XXX\AppData\Local\Temp\D:\workspace\1675246694267.xlsx(文件名、目录名或卷标语法不正确。)
跟进代码发现 是下面的调用逻辑
org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.StandardMultipartFile#transferTo(java.io.File)
org.eclipse.jetty.util.MultiPartInputStreamParser.MultiPart#write(java.lang.String),这个方法中走到判断如下图:
![](/assets/blank.gif)
由于 this._file 是 null,因此会执行 671行 ,给 this._file 拼接上 temp文件夹+我们要上传的目标文件夹,由于拼接了错误的文件路径导致找不到此文件,因此报错。
还发现 write方法定义是filename 结果调用方传入的是全路径。
解决方法
可以通过写了流的方式生成文件。我使用了 hutool 的包,所以直接使用:
File localFile = new File(fullFilename);
FileUtil.writeBytes(uploadFile.getBytes(),localFile);
使用transferTo上传文件容器为jetty的问题相关推荐
- springboot上传文件MultipartFile.transferTo()
根据springMvc教程,改写的springboot文件上传功能,实际上很简单,核心使用的是MultipartFile类: org.springframework.web.multipart.Mul ...
- Docker 容器支持SFTP上传文件
使用镜像启动容器: $ docker run -itd --restart=always --privileged=true --net='bridge' --name kooi -p 80:80 - ...
- java断点续传上传_java断点续传上传文件,突然关闭然后再上传文件为什么不是从之前上传的进度上传...
Controller层里这么写的 @Controller public class UploadAction { @Autowired private File_Service FileSerivce ...
- ssm上传文件获取路径_SSM实现图片上传下载功能
0. 基本步骤框架搭建 实现带图片上传的注册功能 实现下载功能 1. 框架搭建 Step1 创建开发项目 创建基础MVC包结构:controller.service.mapper.pojo Step2 ...
- SpringBoot整合阿里云OSS上传文件
一.需求分析 文件上传是一个非常常见的功能,就是通过IO流将文件写到另外一个地方,这个地方可以是项目下的某个文件夹里,或者是本地电脑某个盘下面,还可以是云服务OSS里面,这里就是我要讲到的OSS,我写 ...
- excel oss 上传_java实现上传文件到oss(阿里云)功能示例
本文实例讲述了java实现上传文件到oss(阿里云)功能.分享给大家供大家参考,具体如下: 做这个功能之前我们需要导入阿里云OSS官方提供的工具包 aliyun-sdk-oss-2.5.0.jar 这 ...
- ssm上传文件进度条_SSM框架+Plupload实现分块上传大文件示例
关于Plupload的介绍,相信它的官网http://www.plupload.com/已经给得很详细了.Plupload的上传原理简单点说,就是将用户选中的文件(可多个)分隔成一个个小块,依次向服务 ...
- Springboot实现文件上传文件压缩和前端展示
最近公司要写一个文件上传和下载的需求,之前写过很多次了,今天做个记录,希望能帮助到大家*Controller 代码* @RestController @RequestMapping("/up ...
- 阿里云OSS上传文件并返回文件地址
目录 依赖添加 实体类: OSS配置类: OSSUtil工具类: OSS上传接口类: OSS上传接口实现类: OSS上传控制类: 工具类: 依赖添加 在Maven的pom.xml文件中添加OSS的依赖 ...
最新文章
- 【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!...
- vb获得mysql的值,VB.NET调用MySQL存储过程并获得返回值的方法
- Hyperopt 入门指南
- 中文排版规则_非设计师的5条排版规则
- C语言试题六十三之请编写函数fun:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
- LeetCode 441. 排列硬币(数学解方程)
- 怪不得知乎急着招前端开发.
- 机器学习笔记--基本概念
- java_home的变量是_JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用
- 【React】JSX 语法及原理
- 基于改进U-GAT-IT的人像手绘风格转换系统(源码&教程)
- 05 共识问题:区块链如何确认记账权?
- IOS不兼容超出部分省略号 且页面显示不起作用 行数限定无作用
- 使用 Abp.Zero 搭建第三方登录模块(一):原理篇
- 拒绝跟风勇于创新的诚意之作:vivo NEX评测体验
- 西电李航 操作系统课程笔记 day11 IO softwarelayer
- 在学RTX之前的操作系统知识
- 广西投资集团推出“数字广投”,为广西数字化转型打版
- C语言关键字及其解释[共32个]
- Windows10下MDK5(Keil5)及stm32pack的安装教程
热门文章
- 课表排班java_初学OptaPlanner-02- 基于Spring Boot实现一个简单课程表排班的实例
- 【王道思维扩展1】求解斐波那契数列的递归和非递归算法,并分析两种时间复杂度
- 深度剖析原理!宅家36天咸鱼翻身入职腾讯,分享PDF高清版
- PCB孔铜厚度标准及成品铜厚构成
- 企业实施5S管理经典推行步骤及注意事项(完整收藏版)
- 计算机io接口主要功能,计算机基础知识2:IO接口及电源介绍.ppt
- 单片机应用系统设计技术——编码开关试验
- 计算机专业毕设成品,计算机毕业设计能不能用成品?
- Origin2019b坐标轴bug
- JavaScript之Unicode编码转换小工具