gpt4 book ai didi

java - 文件系统资源 : how to set relative path

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

我的项目结构是这样的:

enter image description here

和以下 Controller :

@RestController
public class StubController {

@GetMapping("/stub_mapping_template")
public FileSystemResource getMappingTemplate() {
return new FileSystemResource("/stub/mapping_template.csv");
}
}

但是当我在浏览器中打开时

localhost:8080/stub_mapping_template

没有任何下载。

在调试中我尝试输入:

new FileSystemResource("/stub/mapping_template.csv").exists()

它返回false

我尝试写:

new FileSystemResource("stub/mapping_template.csv").exists()

但结果是一样的

最佳答案

使用ClassPathResource代替FileSystemResource

 @GetMapping("/stub_mapping_template")
public FileSystemResource getMappingTemplate(HttpServletResponse response) {
ClassPathResource classPathResource = new ClassPathResource("/stub/mapping_template.csv");
File file = classPathResource.getFile();

InputStream in = new FileInputStream(file);

response.setContentType(....);
response.setHeader("Content-Disposition", "attachment; filename=" + file.getName());
response.setHeader("Content-Length", String.valueOf(file.length()));
FileCopyUtils.copy(in, response.getOutputStream());
response.flushBuffer();
}

关于java - 文件系统资源 : how to set relative path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47967331/

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