在Firefox中使用jersey和RESTclient在Firefox中下载文件而不显示下载弹出窗口

时间:2014-10-15 11:53:21

标签: rest popup jersey download

我正在编写代码以使用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();

    }
}

感谢。

2 个答案:

答案 0 :(得分:0)

你好试着让它产生" application / octet-stream"而不是text / plain

您指定的内容类型是您只能看到文字的原因

希望有所帮助

答案 1 :(得分:0)

尝试使用@Produces(" test / csv")并且如果仅此一点不起作用,请尝试将ResponseBuilder上的实体设置为文件的String内容。无论如何,这对我有用。

顺便说一句,在我的浏览器中,我没有弹出窗口,它只是立即开始下载CSV文件。