gpt4 book ai didi

file - 用于自动下载文件的 Spring Boot 端点

转载 作者:行者123 更新时间:2023-12-01 12:20:51 28 4
gpt4 key购买 nike

我想制作一个用于下载文件的 Spring Boot 端点。我已经尝试过这些东西,但文件不会自动下载......我只在正文中获得文件内容......

@RequestMapping(value = "/files", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
public ResponseEntity<FileSystemResource> getFile(@RequestParam(name = "start") String start) {
return new ResponseEntity<>(new FileSystemResource(myService.makeFile(start)),
HttpStatus.OK);
}

我尝试过的另一个是这样的:
@RequestMapping(value = "/download", method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public String download(HttpServletResponse response, @RequestParam(name = "start") String start)
{
response.setContentType("application/force-download");
FileReader fr = new FileReader(myService.makeFile(start));
return IOUtils.toString(fr);
}

我已经读过 MediaType.APPLICATION_OCTET_STREAM_VALUE 将强制它下载,但在我的情况下没有发生任何事情。

最佳答案

你是在正确的轨道上,你只需要设置一个响应头 Content-Dispositionattachment; filename=YOUR_FILE_NAME .

尝试这个:

@RequestMapping(value = "/files", method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public FileSystemResource getFile(@RequestParam(name = "start") String start, HttpServletResponse response) {
response.setHeader("Content-Disposition", "attachment; filename=" + "YOUR_FILE_NAME");
return new FileSystemResource(myService.makeFile(start));
}

关于file - 用于自动下载文件的 Spring Boot 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57269488/

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