首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用Java Jersey返回文件

使用Java Jersey返回文件
EN

Stack Overflow用户
提问于 2010-10-10 22:07:54
回答 3查看 51.6K关注 0票数 21

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

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

代码语言:javascript
复制
Response.ok().entity(new FileInputStream(file)).build();

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

EN

回答 3

Stack Overflow用户

发布于 2012-05-18 19:53:51

怎么样

代码语言:javascript
复制
File fileToSend = getFile();
return Response.ok(fileToSend, "application/zip").build();

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

这看起来非常简单,但更重要的是,阅读本文的java专家是否看到了解决方案的性能问题?

票数 9
EN

Stack Overflow用户

发布于 2010-10-11 02:05:50

已使用来自Input and Output binary streams using JERSEY?的答案解决了问题

票数 8
EN

Stack Overflow用户

发布于 2010-10-10 22:15:10

所以你想从你的数据库中得到一个流?

我甚至不确定这是否可能。

但您不必编写临时文件来发送数据。您可以使用ByteArrayInputStream并使用字节数组将数据放在其中,而不是将数据写入文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3900611

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档