gpt4 book ai didi

java - Spring FileSystemResource 下载文件,同时保留原始文件名

转载 作者:行者123 更新时间:2023-12-02 04:45:18 33 4
gpt4 key购买 nike

我想下载一个文件,同时保留该文件的文件名。

我有:

    @RequestMapping(value = "/downloadFile", method = RequestMethod.GET,  produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
public FileSystemResource getFile(@RequestParam(value="filename") String filename) {
return new FileSystemResource(uploadDir + "/" + filename);
}

我可以下载该文件,但下载的文件名始终是“downloadFile.pdf”或“downloadFile.png”。

如何保留原始文件名?谢谢。

最佳答案

您可以在 Spring 中尝试以下代码。

@GetMapping(value = "/downloadFile", method = RequestMethod.GET,  produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
public ResponseEntity<?> downloadFile(@RequestParam(value="filename") String filename) {
String dirPath = "your-location-path";
byte[] fileBytes = null;
try {
fileBytes = Files.readAllBytes(Paths.get(dirPath + fileName));
} catch (IOException e) {
e.printStackTrace();
}
return ResponseEntity.ok()
.contentType(MediaType.APPLICATION_OCTET_STREAM)
.header(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + fileName + "\"")
.body(fileBytes);
}

关于java - Spring FileSystemResource 下载文件,同时保留原始文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56489612/

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