小编Lor*_*uce的帖子

当前 MultipartFile 的 java.io.FileNotFoundException

我正在处理有关 MultipartFile 的奇怪行为。

我的项目是一个接收文本文件的 Spring Boot 后端。该文本文件作为 MultipartFile 出现。我想将此文件发送到辅助 Spring Boot 后端,该后端将在我的主后端读取该文件之前向该文件添加一些内容。这些内容更改不是强制性的,如果它们不存在,程序也不会崩溃。

要将 MultipartFile 发送到另一个后端,我必须将 MultipartFile 转换为 java.io.File。在执行此操作时,MultipartFile 会被破坏。

创建 java.io.File 后,BufferedReader 无法读取原始 MultipartFile。

重度编辑:

我的项目规格发生了变化,额外的后端被取消了。不过我仍然很好奇这里发生了什么。以下代码重现了我遇到的异常:

@CrossOrigin
@RestController
@RequestMapping("/dragon")
public class TestController {

    @PostMapping("/killFile")
    public String sendInFileHere(@Valid @RequestBody MultipartFile multipartFile) {
        if (multipartFile == null) {
            throw new IllegalArgumentException("File has to be Present");
        }
        File file = new File(multipartFile.getOriginalFilename());
        try {
            multipartFile.transferTo(file);
        } catch (IOException e) {
            e.printStackTrace();
        }
        BufferedReader reader;
        try {
            InputStream is = multipartFile.getInputStream(); //exception is thrown …
Run Code Online (Sandbox Code Playgroud)

java backend filenotfoundexception ioexception spring-boot

6
推荐指数
1
解决办法
6933
查看次数