このaspxページにpdfを提供しようとしています。Firefox では正しく動作しますが、IE では
Internet Explorer は SERVER_NAME から getform.aspx をダウンロードできません
Internet Explorer はこのインターネット サイトを開くことができませんでした。要求されたサイトは利用できないか、見つかりません。
これは私のコードの一般的な機能です。これは複数の関数に分散しています (これが WriteFile を使用しない理由です - その場で pdf を生成することがあります) が、一般的には次のとおりです。
FileStream fs = File.Open(Path.Combine(PdfBasePath, "form.pdf"), FileMode.Open, FileAccess.Read);
Stream output = Response.OutputStream;
byte[] buffer = new byte[BUFFER_SIZE];
int read_count = fs.Read(buffer, 0, BUFFER_SIZE);
while (read_count > 0)
{
output.Write(buffer, 0, read_count);
read_count = fs.Read(buffer, 0, BUFFER_SIZE);
}
fs.Close();
Response.Clear();
Response.ContentType = System.Net.Mime.MediaTypeNames.Application.Pdf;
Response.AddHeader("Content-Disposition", "attachment; filename=form.pdf");
Response.Output.Flush();
Response.End();
Fiddler を見ると、ページはこれを使用してフェッチされています。
GET /getform.aspx?Failure=Y&r=someencryptedstring HTTP/1.1
次のようにブラウザに返されます。
HTTP/1.1 200 OK
日付: 2009 年 4 月 9 日 22:08:33 GMT
サーバー: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-AspNet-Version: 2.0.50727
プラグマ: no-cache
Content-処分:添付ファイル。filename=form.pdf
Cache-Control: no-cache, no-store
プラグマ: no-cache
Expires: -1
Content-Type: application/pdf
Content-Length: 628548
これは本当に私を悩ませています。私は SSL を使用していません。それ以外の場合は、この KB 記事が適用されるようです。誰にもアイデアはありますか?