使用 Java 泽西岛返回文件

2022-09-02 01:49:49

我正在使用Java Jersey来实现REST服务。我的服务应该提供的一件事是文件下载选项。这些文件非常大,是从db中的数据构造的。

目前,我正在从数据库中获取所有数据并将其保存到文件中并返回

Response.ok().entity(new FileInputStream(file)).build();

有没有办法在不完全从db下载数据的情况下开始提供文件,但是当数据来自db时,将其附加到输出流?


答案 1

怎么样

File fileToSend = getFile();
return Response.ok(fileToSend, "application/zip").build();

可以将媒体类型设置为与正在发送的文件匹配。

这看起来很直接,但更重要的是,阅读本文的Java专家是否看到了解决方案的性能问题?


答案 2

通过使用泽西岛输入和输出二进制流的答案解决了问题?


推荐