我正在编写代码以使用ReST API下载文件。我的代码工作正常,我收到了回复。 但我在浏览器中获取文件内容作为响应主体,而不是要求文件下载
下面是我正在使用的示例代码..请帮我弄清楚我做错了什么。 我尝试了所有符合我要求的SO中发布的代码,但仍然无法弹出。
@Path("/downloadfiles")
public class DownloadFiles {
@GET
@Produces("text/plain")
public Response getFiles( ) {
File file = new File("/opt/test/sample.csv");
ResponseBuilder response = Response.ok((Object) file).header("Content-Disposition",
"attachment; filename=sample.csv");
return response.build();
}
}
感谢。
答案 0 :(得分:0)
你好试着让它产生" application / octet-stream"而不是text / plain
您指定的内容类型是您只能看到文字的原因
希望有所帮助
答案 1 :(得分:0)
尝试使用@Produces(" test / csv")并且如果仅此一点不起作用,请尝试将ResponseBuilder上的实体设置为文件的String内容。无论如何,这对我有用。
顺便说一句,在我的浏览器中,我没有弹出窗口,它只是立即开始下载CSV文件。