我们有一个magento商业站点运行在运行magento的PHP 5.2.11的IIS 6.0服务器上。下载发票(PDF)没有完成
每当用户尝试使用打印从管理面板将pdf下载到他们的计算机时,下载无法完成。我可以看到整个文件被下载到计算机,但浏览器仍然继续说它正在下载。这意味着文件最终会以.part保存,用户无法以pdf格式打开文件。如果我删除由Firefox创建的.part扩展名,那么我可以正确查看PDF。这意味着数据全部从服务器发送到浏览器,但下载不会终止。
请参见下面的标题上响应,同时开始下载PDF
HTTP/1.x 200 OK
Cache-Control: must-revalidate, post-check=0, pre-check=0
Pragma: public
Content-Length: 1456781
Content-Type: application/pdf
Content-Encoding: gzip
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Last-Modified: Fri, 18 Dec 2009 10:23:37 +0000
Vary: Accept-Encoding
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET, PHP/5.2.11
Content-Disposition: attachment; filename=invoice2009-12-18_10-23-37.pdf
Date: Fri, 18 Dec 2009 10:23:37 GMT
我想这是事做不关闭通过发送整个文件后,连接?请帮忙!
谢谢。
我在哪里使用exit(); pdfinvoicesAction()从OrderController.php和Invoice.php文件中调用。 有一个正用于创建PDF的_prepareDownloadResponse函数。 是否有IIS设置? – ToughPal 2009-12-18 10:58:13
不知道IIS设置,退出需要去_prepareDownloadResponse输出到浏览器后(对不起,我的版本的magento没有pdf发票,所以不能确切地说) – 2009-12-18 11:17:07
谢谢马克,我试过$ this后的exit() - > _ prepareDownloadResponse,现在下载不会发生。我想弄清楚放置exit()的位置。 – ToughPal 2009-12-18 11:21:49