如何将多个PDF文件从RESTful服务返回到Javascript客户端?

如何将多个PDF文件从RESTful服务返回到Javascript客户端?,javascript,jquery,json,pdf,jax-ws,Javascript,Jquery,Json,Pdf,Jax Ws,有人知道我如何从RESTful Web服务向Javascript客户端返回单个对象中的一系列PDF文件吗 我尝试将JSON对象中的PDF作为字节数组返回,但这似乎不起作用,或者我对JS端的字节数组做了一些错误操作。首先需要对二进制文件(PDF文件)进行编码。Base64编码的目的是使二进制数据能够通过非8位干净的传输层进行传输 我建议您创建一个函数来返回一个文档和一个json对象 使用文件的一些属性(名称、扩展名、日期等、内容)和json对象的内容字段,只需将通过对pdf文件应用base64 e

有人知道我如何从RESTful Web服务向Javascript客户端返回单个对象中的一系列PDF文件吗


我尝试将JSON对象中的PDF作为字节数组返回,但这似乎不起作用,或者我对JS端的字节数组做了一些错误操作。

首先需要对二进制文件(PDF文件)进行编码。Base64编码的目的是使二进制数据能够通过非8位干净的传输层进行传输

我建议您创建一个函数来返回一个文档和一个json对象 使用文件的一些属性(名称、扩展名、日期等、内容)和json对象的内容字段,只需将通过对pdf文件应用base64 enconding函数获得的base64字符串放入其中。通过这种方式,您可以(在客户端)解码 使用此字符串,可以毫无问题地获取原始文件

Base64编码数据比原始数据占用大约33%的空间


因此,我建议您在每次调用RESTful web服务时只返回一个文档。因为pdf文件可能很小,但也可能很大,在响应json对象上组合多个文档可能会使传输非常繁重。但这取决于您。

我认为最好的方法是将带有URL的JSON对象返回到每个pdf文件。然后使用iFrame显示pdf。我不知道PDF文件的字节编码。可能是重复的。我尝试了你的建议,只使用了1个PDF文件,但我没有任何运气。我似乎无法在客户端正确解码它。我尝试在服务器端将PDF编码为base64字节数组(byte[])和字符串。有什么建议吗?你做过类似的事情吗?是的,我为a工作的一家公司做了一个restful web服务,我用它发送一个jpg文件,并用base64对其进行编码。一切都很顺利。为什么不尝试使用客户端上接收到的字符串,并尝试在单独的工具上对其进行解码,看看至少接收到的字符串是否正确,问题是否在用于解码字符串的函数中。我可以给你真正的例子,但在php中,我很惊讶你在使用java或.net。是的,我在服务器端使用java。因此,经过一些调整,我收到的字符串是正确的,但我认为这是不可能的PDF格式,只有图像,根据这个链接。我一直在使用pdfObject.js,它可以很好地接受URL,但似乎无法处理字符串或字节数组中的PDF。我想我可能必须使用Ohgodwhy的方法,但是使用pdfObject.js而不是iFrame。谢谢