【问题标题】:Rename multipart file before saving保存前重命名多部分文件
【发布时间】:2019-06-08 01:47:08
【问题描述】:

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

@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());
    }
}

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

【问题讨论】:

  • 什么是fileStorage,它是如何实现的?它是您控制的东西还是外部提供的课程?还显示您如何尝试“重命名原始文件”。
  • 四处走走就是保存然后重命名..
  • @Jason 已经编辑过了! :)

标签: java spring-boot multipartform-data renaming


【解决方案1】:

Multipart 对象包含有关上传的数据。更改其数据不会有任何用处。

您可以用自己喜欢的名称创建自己的文件指针,然后将分段上传的内容保存到该文件中。有了它,你可以transfer文件内容到一个文件,或者你可以stream文件内容到创建的文件。

【讨论】:

    猜你喜欢
    • 2012-05-04
    • 2017-10-31
    • 2014-01-06
    • 2013-12-05
    • 1970-01-01
    • 2018-10-20
    • 1970-01-01
    • 2020-01-29
    • 1970-01-01
    相关资源
    最近更新 更多