我在Heroku上部署了一个SpringBoot项目,我得到了FileNotFoundException,即使它在本地运行完全正常。
这是代码:
@GetMapping(path =“/ api / items / image / get / {file_name}”)…
虽然我不清楚为什么文件路径无法在Heroku上部署的Spring应用程序中获取,但我采用了另一种方法,可能对其他具有相同问题的人有所帮助。我已经使用了Spring的Resource方法,通过创建配置类并将文件内容注入变量 @Value 注解。我通过Bean方法公开了文件内容的String值,该方法读取了文件:
@Value
@Configuration public class ResourceFiles { @Value("classpath:myfile.ext") private Resource myfile; @Bean(name = "myfile") public String myfile() { try (InputStream is = myfile.getInputStream()) { return StreamUtils.copyToString(is, Charset.forName("UTF-8")); } catch (IOException e) { e.printStackTrace(); } return null; } }
然后,我使用了文件串内容 @Autowired 注解:
@Autowired
@Autowired @Qualifier("myfile") public String myfile;