gpt4 book ai didi

java - 使用 servlet 上下文从 Spring Boot 应用程序获取资源的路径

转载 作者:行者123 更新时间:2023-12-02 10:25:48 25 4
gpt4 key购买 nike

我有这个结构,由spring boot生成

enter image description here

所以我想使用 sevletContext 获取文件gastos.xlsx的输入流。

    @Autowired
private ServletContext context;

@GetMapping("/grafico")
public ResponseEntity<String> exportExcelGrafico(HttpServletResponse response){

try{
//this path returns null. What is the real path to put here?
InputStream input = context.getResourceAsStream("src/main/resources/templates/gastos.xlsx");
//returns null
input = context.getResourceAsStream("/resources/templates/gastos.xlsx");
// Returns null
input = context.getResourceAsStream("/templates/gastos.xlsx");
}
catch(){

}

什么是正确的道路?我没有在 application.properties

上配置任何内容

最佳答案

Maven 或 Gradle 项目的 src/main/resources 文件夹中的内容最终会出现在您的 jar 中,而不是 Web 资源中。因此应该使用类加载器来加载它,而不是使用 servlet 上下文:

MyClass.class.getResourceAsStream("/templates/gastos.xlsx")

不确定为什么将该文件放在模板下,因为......它不是模板。

关于java - 使用 servlet 上下文从 Spring Boot 应用程序获取资源的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53971564/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com