2010-08-25 57 views
1

如何使用java平台在Restful Web服务中传递整个PDF内容作为响应。 我尝试将响应转换为字符串和字节数组。第一种情况,注册表达式错误。在第二种情况下,获得意想不到的结通过REST传递pdf数据

回答

1

PDF数据应该可以转让,作为一个rest-ful请求的答案就好了。

设置正确的内容类型并传输PDF的二进制内容。

没什么特别的。

  1. 你现在在做什么?你在使用图书馆吗?
  2. 描述你的“未预期的结果”。
  3. 描述你“表达错误”

基本上,你需要提供大量的更多细节。

+0

我使用Jersey api。我将响应标头改为文本。尝试与HTML和XML也。样本回应如下。 %PDF-1.4 % 4 0 obj <> stream XY @Mǟm* IQAR = $ I1 =l̷a0؃P*Kʖ%Y *ȴh{ y { && ׹ : }' 3 ] R 9e B Хy D* 84 K V Z W p2t Y8 \ & . ! 81 ] ʎQ >0t u *?# \o B e{ 5 zt nj ҽ r\ &t .65t ' } ILꐣGS#AA?%〜ç WC * Z'k貾YJ undisputed 2010-08-26 10:22:21

+0

看起来像一个PDF文件给我。我假设你没有设置内容类型。当然,它不是HTML或XML。内容类型是“application/pdf”。 – 2010-08-26 18:32:46

+0

谢谢。 现在我需要在pdf文件中显示相同的数据。如何做到这一点, – undisputed 2010-09-01 08:23:11

0

为了提供PDF,您的来自Java平台的响应肯定会成为字节数组。从服务器端您需要确保PDF的MIME类型已注册,并且它正在提供并接受PDF的正确标题。

如果您正在提供PDF,Java需要找出它的位置并将其托管在您定义的RESTful资源的url下。

如果它是动态的,您的PDF库(我过去使用iText)需要能够输出PDF二进制文件并通过您定义的RESTful资源提供。

0

不知道这是否与您的问题有关 - 但我已经看到Adobe Acrobat不能很好地处理HTTP范围标题,如果除了范围之外说你会发出一些非常奇怪的范围请求并忽略部分内容标题你发回。只是一个警告。