gpt4 book ai didi

java - 强制从 Spring Controller 下载 CSV

转载 作者:行者123 更新时间:2023-11-30 08:54:04 25 4
gpt4 key购买 nike

跟进我的问题 last issue这已经得到解决。

我试图通过 Spring @Controller 通过返回 FileSystemResource 下载文件。我收到了一个有效的 HTTP 200 响应并且可以在浏览器中查看文件的所有内容,但是我从未收到下载文件的提示。这是我的方法:

@RequestMapping(method = RequestMethod.GET, headers="Accept=*/*", value = "/download/{fileName:.+}", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
public FileSystemResource download(@PathVariable String fileName, HttpServletResponse response) throws IOException {
File file = new File(path + '/' + fileName);
response.setContentLength((int)fileName.length());
response.setContentType("application/force-download");
response.setHeader("Content-Disposition","attachment; filename=\"" + fileName + "\"");//fileName);
return new FileSystemResource(file);
}

从浏览器:

Response Headers
Content-Disposition | attachment; filename="my_data.CSV"
Content-Length | 1712
Content-Type | text/csv

Request Headers
Accept | */*
Accept-Encoding | gzip, deflate
Accept-Language | en-US,en;q=0.5

这里的一切似乎都是有效的;知道为什么没有返回实际文件吗?干杯

最佳答案

下载:我使用:

response.setContentType("application/octet-stream");

请注意,您的结果“Content-Type | text/csv”与您设置的不匹配

关于java - 强制从 Spring Controller 下载 CSV,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29564287/

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