关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。
17天前关门了。
改进这个问题
我正在尝试立即下载生成的文件,而不将它们保存在持久性存储中。
@Operation(
summary = "Download csv.",
description = "Download csv.",
responses = {@ApiResponse(content = @Content(
mediaType = MediaType.APPLICATION_OCTET_STREAM_VALUE))}
)
@GetMapping(value = "/download", produces = APPLICATION_OCTET_STREAM_VALUE)
public Resource downloadFile(HttpServletRequest request) {
String s =
"uuid1\tdata\n" +
"uuid2\tdata\n" +
"uuid3\tdata";
ByteArrayResource resource = new ByteArrayResource(s.getBytes(), "description");
return resource;
}
因此,我得到了一个有效的下载链接,通过招摇或直接请求立即下载。
我想做的是:
要预先设置将下载的文件的名称和扩展名。
我想得到一个提示并选择保存它的位置。
是否可以只使用后端?
1条答案
按热度按时间h43kikqp1#
To pre-set the name and extension for the file, that will be downloaded.
试着注射HttpServletResponse
对象,并在该响应对象上设置标头,如下所示:response.setHeader("Content-Disposition", "attachment; filename=<yourfilename>.<yourextension>");
如果希望文件名是动态的或依赖于某些属性,请按自己的意愿格式化字符串。其他人必须回答你的第二点,因为我还没有遇到它。
编辑:打字错误