如何使用dropwizard将响应作为excel文件返回?

时间:2015-07-18 07:00:08

标签: excel download apache-poi response dropwizard

我正在使用dropwizard进行休息api开发,返回json响应。我现在遇到了一个要求,我必须在一个特定的api调用时返回一个excel文件。我发现apache poi是一个很好用的库。但是我如何将excel文件作为响应返回。然后,浏览器应显示下载选项。

1 个答案:

答案 0 :(得分:4)

将内容类型设置为application/octet-stream,并添加Content-Disposition响应标头。像Content-Disposition: attachment; filename="file.xsl"这样的东西。例如

@Path("/file")
public class FileResource {

    @GET
    @Produces(MediaType.APPLICATION_OCTET_STREAM)
    public Response getFile() throws Exception {
        InputStream is = new FileInputStream("file.txt");
        return Response.ok(is)
                .header(HttpHeaders.CONTENT_DISPOSITION, 
                        "attachment; filename=\"file.txt\"")
                .build();
    }
}

InputStream以外,您可以返回Filebyte[]StreamingOutput,您可以选择。