在我们的应用程序中,我们有一个用户通过AJAX调用下载PDF - 基本上我们有一个列出很多PDF文件的表,当用户点击文件名时,会向Servlet发出一个AJAX调用归档为响应。
为响应设置Content-Length以及其他所需的参数(Content-Disposition,Content-Type等)。我们观察到,对于特定的一组用户,下载失败并出现网络错误。下载最初是启动并开始的,但经过一段时间后,下载才会停止处理并抛出此错误。这是IE和Chrome的行为。
最初,没有提供内容长度,因此默认为分块传输,但现在已经改变了。即使有分块转移,我们确实遇到了同样的问题。
我们已经完成了Chrome文档中提供的步骤(清除Cookie等),但没有任何喘息的机会。我们确实在Chrome中运行了net-exports功能,他们将以下几行作为 -
t=237104 [st=161960] DOWNLOAD_ITEM_INTERRUPTED
--> bytes_so_far = "0"
--> interrupt_reason = "NETWORK_FAILED"
t=237104 [st=161960] -DOWNLOAD_ITEM_ACTIVE
无法下载的用户可以从其他网站下载PDF。如果我们在网站上托管静态PDF,用户也可以访问它。
关于什么需要我们的下一个了望点的任何指示?
(用户连接到Web服务器Apache HTTPD)
谢谢, 阿拉汶
答案 0 :(得分:1)
从Jasper下载PDF文件时出现网络错误问题。 我按照以下步骤修复了Chrome的下载问题。
答案 1 :(得分:0)
将 Web 服务器或响应标头中的 PDF MIME 类型从
application/pdf更改为
application/octet-stream
这个问题是什么时候启用gzip压缩和/或HTTP/2
为 SSL 连接启用 http/2 是一项非常有价值的性能设置。但是,http2 期望报告的大小与网络服务器报告的流式内容相匹配。
问题发生在 Cloudflare to.