gpt4 book ai didi

javascript - 下载文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:55:26 24 4
gpt4 key购买 nike

我正在尝试触发文件下载,但在 Safari 上执行此操作时遇到问题(FireFox 和 Chrome 按预期工作)。
这是我的 Java 代码:

  @RequestMapping(method = RequestMethod.GET, produces = "text/csv")
@ResponseBody
public String getReports(
final HttpServletResponse response,
final @RequestParam String data) throws ParseException {
response.setHeader("Content-type", "text/csv; charset=utf-8");
response.setHeader("Content-Disposition","attachment; filename='view.csv'");
String csv = exportCurrentService.extractMatrix(data);
response.setContentLength(csv.length());

return csv;
}

这是我的客户端代码:

  downloadURI(url, name) {
const a = document.createElement('a');
a.href = url;
a.download = name;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}

在 Safari 中,响应打印在屏幕上(加载在同一页面上)。

注意:我已经尝试过 SO 上建议的其他方法,但每个方法都有其自身的问题。

更新:在响应 header 中,我看到 Content-Disposition 设置为内联而不是附件。为什么会这样?

我做错了什么?

最佳答案

尝试不使用 @ResponseBody 并使用 produces = MediaType.APPLICATION_JSON_UTF8_VALUE

关于javascript - 下载文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42493661/

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