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

标签 excel download apache-poi response dropwizard

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

最佳答案

将 Content-Type 设置为 application/octet-stream并添加 Content-Disposition响应 header 应该这样做。像 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 , 你可以返回 File , 一个 byte[] , 一个 StreamingOutput ,你有选择。

关于excel - 如何使用 dropwizard 将响应作为 excel 文件返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31488703/

相关文章:

excel - VBA Excel - 函数卡住

excel - 同价求和数量,excel

php - 使用 php 从给定的 url 下载 apk 文件到服务器

java - 如何使用 POI Excel 以编程方式拉伸(stretch)列以适合文本?

excel - VBA 代码打开不需要的浏览器窗口

python - 如何使用 Python 打开 Excel 文件以显示其内容?

jquery - 在哪里下载 Jquery Gallery 查看新版本?我找不到它!

java - 从 API 请求 json 时无法下载超过 16144 个字符

java - POI - ZIP 条目大小太大

Java apache poi 错误 : java. lang.IllegalArgumentException:未知错误类型:-60