SpringRESTAPI:下载文件并选择要保存的名称和位置

np8igboo  于 2021-07-13  发布在  Java
关注(0)|答案(1)|浏览(388)

关闭。这个问题需要细节或清晰。它目前不接受答案。
**想改进这个问题吗?**通过编辑这个帖子来添加细节并澄清问题。

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;
  }

因此,我得到了一个有效的下载链接,通过招摇或直接请求立即下载。
我想做的是:
要预先设置将下载的文件的名称和扩展名。
我想得到一个提示并选择保存它的位置。
是否可以只使用后端?

h43kikqp

h43kikqp1#

To pre-set the name and extension for the file, that will be downloaded. 试着注射 HttpServletResponse 对象,并在该响应对象上设置标头,如下所示: response.setHeader("Content-Disposition", "attachment; filename=<yourfilename>.<yourextension>"); 如果希望文件名是动态的或依赖于某些属性,请按自己的意愿格式化字符串。
其他人必须回答你的第二点,因为我还没有遇到它。
编辑:打字错误

相关问题