SpringBoot将上传的文件保存到临时文件

介绍

当前端上传文件到后端,后端将文件上传到第三方,在后端不需要保存文件时可以考虑使用临时文件进行存储。好处是:不必再为文件找一个临时的存储位置。

使用场景

上传文件
上传文件
前端
后端
第三方

在上面的场景中,后端不需要存储前端上传的文件,这时可以考虑将文件保存到临时文件中。保存到临时的好处是,避免new File()时指定文件的存储路径,有时候确实也不知道存储到哪个路径。比如:在本地开发时知道本地的路径,但是不知道线上服务器的路径。上传玩记得将临时文件删除。

代码

@RequestMapping("/upload/tempFile")
@ResponseBody
public Map<String, Object> uploadTempFile(@RequestParam("file") MultipartFile file) {
    File tempFile = null;
    try {
        //生成文件名称
        String fileName = UUID.randomUUID().toString();

        //截取文件名称后缀
        String fileSuffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));

        //创建临时文件
        //File.createTempFile("文件名称", "文件后缀");
        //File.createTempFile("temp", ".tmp");
        tempFile = File.createTempFile(fileName, fileSuffix);

        //将上传的文件保存到临时文件
        file.transferTo(tempFile);
        
        //调用第三方上传接口
        String reslut = HttpUtile.doGet(....);
        
        //result为空表示上传失败
        if (org.apache.commons.lang3.StringUtils.isBlank(reslut)) {
            return this.getJsonMap(false, "上传失败", ResultCode.ERROR.getCode(), null);
        }
    } catch (Exception e) {
        logger.error("uploadTempFile", e);
        return this.getJsonMap(false, "error", ResultCode.ERROR.getCode(), null);
    } finally {
        //删除临时文件
        tempFile.delete();
    }
    return this.getJsonMap(true, "上传成功", ResultCode.SUCCESS.getCode(), null);
}

相关推荐

  1. SpringBoot文件保存临时文件

    2024-04-21 02:02:02       40 阅读
  2. SpringBoot文件阿里云

    2024-04-21 02:02:02       58 阅读
  3. springboot 文件

    2024-04-21 02:02:02       45 阅读
  4. springboot文件

    2024-04-21 02:02:02       42 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-21 02:02:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-21 02:02:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-21 02:02:02       82 阅读
  4. Python语言-面向对象

    2024-04-21 02:02:02       91 阅读

热门阅读

  1. C语言经典例题-19

    2024-04-21 02:02:02       35 阅读
  2. 视频怎么去水印,轻松去视频水印的方法

    2024-04-21 02:02:02       31 阅读
  3. 服务器为什么要定期备份

    2024-04-21 02:02:02       38 阅读
  4. Linux at练习之在系统中设定延迟任务

    2024-04-21 02:02:02       36 阅读
  5. 【Android】 镜像及分区

    2024-04-21 02:02:02       32 阅读
  6. python-pdf的合并与拆分

    2024-04-21 02:02:02       39 阅读
  7. Lambda表达式学习

    2024-04-21 02:02:02       28 阅读
  8. springboot基础介绍

    2024-04-21 02:02:02       32 阅读
  9. selenium篇-基础用法

    2024-04-21 02:02:02       32 阅读