2011-07-22 6 views
0

PDFファイルにアクセスするときにメモリが足りなくなる問題を解決しましたが、ChromeやFirefox経由で大きなファイルにアクセスしようとすると、ちょっと気が散ってしまうようです。それはAdobeを開かず、数百万の文字を含むページとして表示するだけです。私は以下のコードを使ってそれをユーザーに伝えます、なぜこれを行うのでしょうか?クロムとFirefoxでのPDFハンドラーの問題

case "PDF": 
    context.Response.ContentType = "application/pdf"; 
    context.Response.AddHeader("content-disposition", "inline; filename=" + asset.A_Name); 
} 

context.Response.BinaryWrite(content); 

答えて

4

レスポンスにコンテンツの長さヘッダーを追加する必要があります。 IISチャンクエンコーディングの問題です。 Look hereをご覧ください。

context.Response.AddHeader("Content-Length", fileInfo.Length.ToString());

+0

私はこれを実装しました。これは私のPDFのいくつかで動作しますが、大きなものはまだ不器用です。何が原因だろうと思いますか?また、私のスイッチの前に 'Response.Clear()'を追加しようとしましたが、何もしません。 – atrljoe

+0

IEで動作しますか? Response.Buffer = falseを設定してみてください。 –

+0

バッファを追加しようとしましたが、何もしませんでした。 IEでは動作しますが、他のブラウザでは動作しません。これまでのおかげで、他のアイデアはありますか? – atrljoe

0

既にレスポンスストリームには何も書き込まれていますか?最初にResponse.Clear()に電話してください。

関連する問題