代码之家  ›  专栏  ›  技术社区  ›  abidinberkay

为什么Spring App在调用MultipartFile Post方法时保存文件?

  •  0
  • abidinberkay  · 技术社区  · 2 年前

    这可能是一个荒谬的问题,但我想知道答案。我编写了一个端点来获取一个文件,并将其保存到aws3,如下所示:

    @PostMapping("/media")
        @Operation(summary = "Save Media", security = @SecurityRequirement(name = "BearerJWT"))
        public ResponseEntity<MediaDto> saveMedia(@RequestPart("file") MultipartFile file, @RequestPart("MediaDto") MediaDto MediaDto) {
            return ResponseEntity.ok(mediaService.saveMedia(MediaDto, file));
        }
    

    代码运行良好。我只想将此文件添加到我的服务类中的s3,这也没问题,但每当我向此端点发送文件时,项目都会将文件保存到项目文件夹中。

    1-在我的本地,这是正常的吗?还是我可以停止保存,只在服务方法中使用它并跳过它?我应该手动删除文件还是通过代码删除?

    2我脑海中更严重的问题是,我从项目中获取构建jar文件并将其部署到服务器,它正在服务器上从jar文件运行。当我将文件发送到服务器上的此端点时会发生什么?服务器是否仍在将文件保存在服务器上的某个位置,还是只是处理并跳过它?

    1 回复  |  直到 2 年前
        1
  •  0
  •   shun chen    2 年前

    这个问题似乎是一个临时文件问题,上传文件会生成一个临时的文件。

    我在Github上发现了一个问题 How does one specify a temp directory for file uploads in Spring Boot? ,也许能帮到你。