以pdf格式发送字节

时间:2019-11-21 01:44:34

标签: java spring-boot web-applications

编辑:我要发送的数据以rds表示。我将其提取到输出流中,然后尝试将其作为pdf发送给用户。

已生成文件,但在打开浏览器时显示“无法加载PDF文档”。 我已经读过将ContentType设置为“ application / pdf”会有所帮助,但对我而言却没有帮助。代码在下面给出

byte[] b = generateFileService
            .getDeviceHumidityRecordByPeriod(deviceIdValue, parseUnixTimestamp(startTime), parseUnixTimestamp(endTime));
    OutputStream output = response.getOutputStream();
    response.setContentType("application/pdf");
    response.addHeader("Content-disposition", "attachment;filename=test.pdf");
    output.write(b);
    output.close();

    response.flushBuffer();
}

如果我将文件名更改为test.csv,然后将内容类型用作txt / plain,则它可以正常工作并写入了一个csv文件。

1 个答案:

答案 0 :(得分:0)

我使用Apache PDFBox将数据写入pdf文件。需要跟踪页面偏移量以动态添加页面。然后,您可以通过指定response.setContentType(“ application / pdf”)和response.addHeader(“ Content-disposition”,“ attachment; filename = test.pdf”)