springboot_项目重启问题

问题描述

  • 在做一个文件上传功能的时候,我获取到类路径:
    String classPath = ClassUtils.getDefaultClassLoader().getResource("").getPath();
  • 此方法获取到的路径是:/target/classes
  • 我将文件存储到/target/classes/template/

此时发现只要一上传文件,项目就进行自动重启,问了一些大佬,还以为是框架中有什么安全检查呢

后来我发现是热部署的问题

代码如下:

    @PostMapping("/uploadFile")
    @ApiOperation("上传")
    public ResultBody uploadFile(@RequestParam("file") MultipartFile file,
                                 @RequestParam String id) throws IOException {
        String classPath = ClassUtils.getDefaultClassLoader().getResource("").getPath();
        //ApplicationHome h = new ApplicationHome(getClass());
        //String classPath = h.getSource().getParentFile().getAbsolutePath();
        String filePath = classPath + "/template/" + file.getOriginalFilename();
        File dest = new File(filePath);
        if (!dest.getParentFile().exists())
            dest.getParentFile().mkdirs();
        MonthlyImportDemand demand = monthlyImportDemandService.getById(id);
        demand.setFilePath(dest.getAbsolutePath());
        monthlyImportDemandService.updateById(demand);
        FileUtil.writeBytes(file.getBytes(), dest);
        return ResultBody.success();
    }

获取绝对路径可以使用两种方法:

  • String classPath = ClassUtils.getDefaultClassLoader().getResource("").getPath();
  • ApplicationHome h = new ApplicationHome(getClass());
    File file = h.getSource()

我将上传的文件保存至target/template中,问题解决

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值