从webservice接收大部分文件

时间:2015-09-23 14:57:41

标签: web-services pdf download

我有一个Web服务,可以处理并从几个较小的文件中动态生成PDF文件。我还有一个客户端应用程序(网站),用户可以从中下载PDF文件 有时结果PDF非常大,并且由于内存和响应时间限制,网站用户无法下载它 我试图找到一种方法让我的网站收到更小的包,或类似的东西,并逐步在用户浏览器中显示它。类似于视频流的东西,但有PDF文件。有什么方法可以实现吗?

*编辑:我发现Mozilla's PDF.js是一个用HTML5构建的客户端PDF查看器,我认为这对我的问题很有用,但我仍然没有在文档中找到如何解决问题的方法。
Dan O提出的解决方案将帮助我改善用户体验,但不会改善我的服务器(webservice)中的内存问题和处理PDF的总时间。

1 个答案:

答案 0 :(得分:1)

使用HTTP chunking。简言之:

  1. 在HTTP响应中设置Transfer-Encoding: chunked标头
  2. 使用以下格式以块的形式发送PDF文件:
  3. <chunk size in bytes> \r\n <chunk of data> \r\n

    1. 发送一个空块,告诉用户的浏览器不再有数据:
    2. 0 \r\n \r\n