赞
踩
问题:docker部署springboot项目,获取不到项目目录或者获取到的项目目录不准确,导致resources下的文件也读取不到。linux机器也不能放文件,所以拿不到文件。
解决:创建一个临时文件夹,把resources下的文件写到临时目录,然后读取临时目录的数据就可以了。
代码:
- // 读取resources目录下的文件
- Resource resource = resourceLoader.getResource("classpath:" + msgAuditLibPath);
- // 创建临时文件
- File tempFile = File.createTempFile("mylibrary", "." + StrUtil.subAfter(msgAuditLibPath, ".", true));
- // 将库文件拷贝到临时文件中
- try (InputStream in = resource.getInputStream();
- OutputStream out = Files.newOutputStream(tempFile.toPath())) {
- IOUtils.copy(in, out);
- }
- // 获取新的文件目录
- Stirng newFilePath = tempFile.getAbsolutePath();
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。