保存前重命名多部分文件

时间:2019-01-14 03:05:00

标签: java spring-boot multipartform-data renaming

在将代码保存到文件系统之前,我想在其中重命名该代码。我在堆栈溢出中尝试了其他问题,但不适用于我。希望您能帮我这是我的代码。

@PostMapping("/api/file/upload")
public @ResponseBody String uploadMultipartFile(@RequestParam("uploadfile") MultipartFile file) {
        try {
            fileStorage.store(file);
            return "File uploaded successfully! -> filename = " + file.getOriginalFilename();
        } catch (Exception e) {
            return "Error -> message = " + e.getMessage();
        }    
}

这是我的商店功能:

@Override
public void store(MultipartFile file){
    try {
        Files.copy(file.getInputStream(), this.rootLocation.resolve(file.getOriginalFilename()));
    } catch (Exception e) {
        throw new RuntimeException("FAIL2! -> message2 = " + e.getMessage());
    }
}

我尝试重命名原始文件,但是它不起作用

1 个答案:

答案 0 :(得分:0)

多部分对象包含有关上载的数据。更改其数据不会有任何用处。

您可以做的是使用自己喜欢的名称创建自己的文件指针,然后将分段上传的内容保存到该文件中。这样,您可以将文件内容transfer stream到创建的文件中。