2

基本上我需要提供将接收字符串参数的 REST 服务,使用该参数从另一个系统获取文件,然后将获取的文件作为响应返回。

效果应该与用户单击 pdf 或任何其他二进制文件链接并且浏览器提示他保存/下载该文件时相同。

几点:

  • 是否可以流式传输文件(在我从源系统接收字节时发送字节)。换句话说,如何处理非常大的文件?
  • 也与流式传输有关,当使用常规 HttpServletResponse 时,我是否必须等到一个大文件被完全读取到return response.build()

我如何使用 Apache Wink 来做这件事?

PS 抱歉,这对 Wink 大师来说可能是微不足道的,但我才刚刚开始了解开发人员指南

4

1 回答 1

3

你可以java.io.File从你的方法中返回。Response如果你愿意,你可以把它包起来。Wink 将处理流媒体。流式传输不会在您调用 to 时开始response.build(),而是在您的方法完成时开始。

如果你想要一个正确的下载对话框,你应该返回正确的Content-Disposition标题。请参阅如何在 JAX-RS 中设置响应标头以便用户看到 Excel 的下载弹出窗口?

于 2012-06-28T12:23:19.067 回答