transferto 文件不存在_文件上传transferTo一行代码的bug

在Spring Boot项目中使用transferTo方法上传文件时遇到IOException,提示目标文件是一个目录。问题在于当文件路径不是绝对路径时,Spring源码会创建一个文件夹而非文件。解决方案是确保提供绝对路径,并在上传前创建文件夹。多读源码能帮助理解问题并找到解决方法。
摘要由CSDN通过智能技术生成

本次的项目环境为 Running with Spring Boot v1.5.10.RELEASE, Spring v4.3.14.RELEASE, 服务器环境为CentOS7.0.

transferTo

我们在上传文件的时候会用到transferTo 这个方法,

transferTo 是 package org.springframework.web.multipart;帮我们已经封装好,所以我们上传文件的时候是很方便的,只需要一行代码。

Spring 大哥真的是强大。

今天我们上传的时候老是报错,错误提示

java.io.IOException: java.io.FileNotFoundException: /opt/xxxxxxx/xxx.png (Is a directory)

蹩脚的英文好好的翻译一下,xxx.png 是一个目录。

对的,看到这里大家大概就明吧了。

String path = FILE_PATH + PATH_NAME + File.separator + dirName;

String fileName = file.getOriginalFilename();

======>注意这里等下要讲的

File targetFile = new File(path , fileName);

if (!targetFile.exists()) {

targetFile.mkdirs();

}

boolean upState = false;

try {

file.tr

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值