报错

springboot 内嵌的 tomcat替换jetty 9.4.44 后出现的问题。

jetty容器使用transferTo 上传问题会提示找不到文件。

ava.io.FileNotFoundException: C:\Users\XXX\AppData\Local\Temp\D:\workspace\1675246694267.xlsx(文件名、目录名或卷标语法不正确。)

跟进代码发现 是下面的调用逻辑

  1. org.springframework.web.multipart.support.StandardMultipartHttpServletRequest.StandardMultipartFile#transferTo(java.io.File)

  1. org.eclipse.jetty.util.MultiPartInputStreamParser.MultiPart#write(java.lang.String),这个方法中走到判断如下图:

由于 this._file 是 null,因此会执行 671行 ,给 this._file 拼接上 temp文件夹+我们要上传的目标文件夹,由于拼接了错误的文件路径导致找不到此文件,因此报错。

还发现 write方法定义是filename 结果调用方传入的是全路径。

解决方法

可以通过写了流的方式生成文件。我使用了 hutool 的包,所以直接使用:

File localFile = new File(fullFilename);
FileUtil.writeBytes(uploadFile.getBytes(),localFile);

使用transferTo上传文件容器为jetty的问题相关推荐

  1. springboot上传文件MultipartFile.transferTo()

    根据springMvc教程,改写的springboot文件上传功能,实际上很简单,核心使用的是MultipartFile类: org.springframework.web.multipart.Mul ...

  2. Docker 容器支持SFTP上传文件

    使用镜像启动容器: $ docker run -itd --restart=always --privileged=true --net='bridge' --name kooi -p 80:80 - ...

  3. java断点续传上传_java断点续传上传文件,突然关闭然后再上传文件为什么不是从之前上传的进度上传...

    Controller层里这么写的 @Controller public class UploadAction { @Autowired private File_Service FileSerivce ...

  4. ssm上传文件获取路径_SSM实现图片上传下载功能

    0. 基本步骤框架搭建 实现带图片上传的注册功能 实现下载功能 1. 框架搭建 Step1 创建开发项目 创建基础MVC包结构:controller.service.mapper.pojo Step2 ...

  5. SpringBoot整合阿里云OSS上传文件

    一.需求分析 文件上传是一个非常常见的功能,就是通过IO流将文件写到另外一个地方,这个地方可以是项目下的某个文件夹里,或者是本地电脑某个盘下面,还可以是云服务OSS里面,这里就是我要讲到的OSS,我写 ...

  6. excel oss 上传_java实现上传文件到oss(阿里云)功能示例

    本文实例讲述了java实现上传文件到oss(阿里云)功能.分享给大家供大家参考,具体如下: 做这个功能之前我们需要导入阿里云OSS官方提供的工具包 aliyun-sdk-oss-2.5.0.jar 这 ...

  7. ssm上传文件进度条_SSM框架+Plupload实现分块上传大文件示例

    关于Plupload的介绍,相信它的官网http://www.plupload.com/已经给得很详细了.Plupload的上传原理简单点说,就是将用户选中的文件(可多个)分隔成一个个小块,依次向服务 ...

  8. Springboot实现文件上传文件压缩和前端展示

    最近公司要写一个文件上传和下载的需求,之前写过很多次了,今天做个记录,希望能帮助到大家*Controller 代码* @RestController @RequestMapping("/up ...

  9. 阿里云OSS上传文件并返回文件地址

    目录 依赖添加 实体类: OSS配置类: OSSUtil工具类: OSS上传接口类: OSS上传接口实现类: OSS上传控制类: 工具类: 依赖添加 在Maven的pom.xml文件中添加OSS的依赖 ...

最新文章

  1. 【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!...
  2. vb获得mysql的值,VB.NET调用MySQL存储过程并获得返回值的方法
  3. Hyperopt 入门指南
  4. 中文排版规则_非设计师的5条排版规则
  5. C语言试题六十三之请编写函数fun:将s所指字符串中ascii值为偶数的字符删除,串中剩余字符形成一个新串放在t所指的数组中。
  6. LeetCode 441. 排列硬币(数学解方程)
  7. 怪不得知乎急着招前端开发.
  8. 机器学习笔记--基本概念
  9. java_home的变量是_JAVA坏境变量中的JAVA_HOME path classpath 的设置与作用
  10. 【React】JSX 语法及原理
  11. 基于改进U-GAT-IT的人像手绘风格转换系统(源码&教程)
  12. 05 共识问题:区块链如何确认记账权?
  13. IOS不兼容超出部分省略号 且页面显示不起作用 行数限定无作用
  14. 使用 Abp.Zero 搭建第三方登录模块(一):原理篇
  15. 拒绝跟风勇于创新的诚意之作:vivo NEX评测体验
  16. 西电李航 操作系统课程笔记 day11 IO softwarelayer
  17. 在学RTX之前的操作系统知识
  18. 广西投资集团推出“数字广投”,为广西数字化转型打版
  19. C语言关键字及其解释[共32个]
  20. Windows10下MDK5(Keil5)及stm32pack的安装教程

热门文章

  1. 课表排班java_初学OptaPlanner-02- 基于Spring Boot实现一个简单课程表排班的实例
  2. 【王道思维扩展1】求解斐波那契数列的递归和非递归算法,并分析两种时间复杂度
  3. 深度剖析原理!宅家36天咸鱼翻身入职腾讯,分享PDF高清版
  4. PCB孔铜厚度标准及成品铜厚构成
  5. 企业实施5S管理经典推行步骤及注意事项(完整收藏版)
  6. 计算机io接口主要功能,计算机基础知识2:IO接口及电源介绍.ppt
  7. 单片机应用系统设计技术——编码开关试验
  8. 计算机专业毕设成品,计算机毕业设计能不能用成品?
  9. Origin2019b坐标轴bug
  10. JavaScript之Unicode编码转换小工具