我們有一個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