2017-05-08 15 views
0

症状は非常に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を形成することを確認できます。

参照された質問のすべての提案が既に有効であり、問​​題はブラウザの動作であるとすれば、どのようなオプションが残っていますか?

答えて

0

コンサルティングhttps://tools.ietf.org/html/rfc6266ファイル名の部分はオプションです。実験的に明らかにASPXファイルの名前とMIMEタイプから導出された名前を持つexport-pdf.pdf Save Asダイアログをポップするすべての主要なブラウザの原因

Response.AddHeader("Content-Disposition", "attachment"); 
を指定します。

この時点で私は出荷を依頼されました。私は誰かがこれが助けになると願っています

関連する問題