症状は非常にC# BinaryWrite over SSLに似ていますが、私のコードは既に提案されているすべてのソリューションに準拠しています。この動作は、執筆時点でEdge、IE11、Chromeで明示されていました。 HTTPS上で正常に動作したコードは、HTTPS経由で配信されたときに壊れました。HTTPSコンテンツ処理アタッチ
private void RenderPdfToResponse(bool asDownload, byte[] documentBytes)
{
Response.BufferOutput = true;
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Cache-control", "no-store");
Response.ContentType = "application/pdf";
Response.AddHeader("Content-Length", documentBytes.Length.ToString());
if (asDownload)
Response.AddHeader("Content-Disposition",
string.Format("attachment; filename=export{0:yyyyMMddHHmmss}.pdf", DateTime.UtcNow));
Response.BinaryWrite(documentBytes);
Response.Flush();
HttpContext.Current.ApplicationInstance.CompleteRequest();
}
問題はブラウザにあります。代わりに、ファイルに保存する必要のある配信済みバイナリコンテンツがブラウザウィンドウにレンダリングされます。デバッグツールを使用してファイルに保存すると、配信されたバイトが有効なPDFを形成することを確認できます。
参照された質問のすべての提案が既に有効であり、問題はブラウザの動作であるとすれば、どのようなオプションが残っていますか?