在浏览器中打开PDF时出错 - 我应该使用哪些HTTP标头值来通过https传输PDF?

时间:2009-11-17 11:30:44

标签: web-applications https download http-headers

我有一个J2EE webapp,用于下载由HTTP servlet提供的生成的PDF。在生产中通过SSL运行时,用户将收到错误消息

  

打开此文档时出错。找不到该文件。

当他们选择在浏览器中打开文件而不是将其保存到文件时,在Acrobat中

。如果他们保存文件没有问题。该错误仅发生在生产中,该生产是F5 BIG-IP路由器后面的Oracle应用服务器群集。在测试中,即使通过https也不会出现问题。

发送的当前标头是

Content-disposition: attachment; filename=myfile.pdf
Pragma: public
Cache-control: must-revalidate

过去有没有人遇到过这个问题?我应该为这些标题使用什么值?我应该使用内联内容处理而不是附件吗?

2 个答案:

答案 0 :(得分:1)

可能有助于确保被调用的URL以“.pdf”结尾,甚至“filename.pdf”,因为IE(显然)使用URL来确定文件类型。

答案 1 :(得分:1)

我通过添加这两个标题来修复它:

Pragma:public 缓存控制:maxage = 1

http://us.php.net/manual/en/function.header.php#83219