如何在不立即保存的情况下将文件发送到客户端

时间:2019-06-25 05:32:49

标签: java rest java-ee

我需要使用rest api将文件从后端应用程序发送到客户端。现在这段代码可以正常工作了

@GET
@Produces("application/vnd.ms-excel")
public Response getFile(){
 StreamingOutput fileStream = service.doSomeLogic();

 return Response.ok(fileStream, "application/vnd.ms-excel").header("Content-Disposition", "attachment; filename=someFile.xls").build();
}

我的问题是,当我输入给定的端点时,将立即下载文件,而没有“菜单”来选择保存位置或如何命名文件。在我使用Spring并返回Response byte[]之类的东西之前,它现在可以按我的需要工作了-无需立即保存。

我尝试发回byte[],但是效果是一样的。

1 个答案:

答案 0 :(得分:2)

enter image description here

设置->高级
这是一个在Chrome中进行设置的示例,如果禁用此设置,则会询问位置,否则将直接下载到默认位置。


以下是Mozilla的示例

enter image description here