這是我的問題。我正在嘗試調用一個頁面:foo.php?docID = bar並將PDF返回到作爲BLOB存儲在數據庫中的屏幕。IE(HTTPS):從PHP文件生成PDF不起作用
這裏是我的代碼實際上返回PDF部分:
$docID = isset($_REQUEST['docID']) ? $_REQUEST['docID'] : null;
if ($docID == null){
die("Document ID was not given.");
}
$results = getDocumentResults($docID);
if (verifyUser($user, $results['ProductId'])){
header('Content-type: application/pdf');
// this is the BLOB data from the results.
print $results[1];
}
else{
die('You are not allowed to view this document.');
}
這在Firefox工作完全正常。
但是,在IE中,它什麼也沒有顯示。如果我在另一個網頁(即google.com)上,並輸入網址轉到此頁面,它會說已完成,但我仍然會在我的屏幕上顯示google.com。
我檢查了來自firefox和IE的響應標題。它們是相同的。
有沒有人有任何建議?需要更多信息?
編輯:如果它幫助所有,這裏的響應頭和內容的第一行:
HTTP/1.1 200 OK
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Length: 349930
Content-Type: application/pdf
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: PHP/5.1.2
Set-Cookie: PHPSESSID=cql3n3oc13crv3r46h2q04dvq4; path=/; domain=.example.com
Content-Disposition: inline; filename='downloadedFile.pdf'
X-Powered-By: ASP.NET
Date: Tue, 21 Apr 2009 16:35:59 GMT
%PDF-1.4
編輯:另外,它翻出頁面的PDF文件,實際使用HTTPS而不是HTTP。
由於提前,
〜扎克
我想通了這個問題。看到我的解釋如下 – 2009-04-21 18:55:33