4

Rotativa を PDF にエクスポートする簡単な方法として見つけました (おそらく将来のバージョンで CSS3 がサポートされていないように見えることを除いて、ほぼ完全に機能します) ... しかし、FileNameオプションをどのように処理するのか疑問に思います。

私が

return new Rotativa.ViewAsPdf("myViewName", "~/Views/Shared/_PDFLayout.cshtml", myModel)
{
    FileName = "myCorrectlyNamed.pdf",
    PageSize = ... // plus some more options
};

次にmyCorrectlyNamed.pdf、ダウンロードします。オプションを省略するFileNameと、PDF がブラウザーに表示されますが、そこから保存すると、デフォルトの filename だけが表示されますdocument.pdf

document.pdfブラウザでPDFを生成して表示し、そこから保存したとき以外のファイル名を持つ方法は?

4

1 に答える 1

7

Content-Dispositionにヘッダーを追加できますResponse。このヘッダーを使用すると、ブラウザーにファイルをインラインで表示するように指示したり、ユーザーがファイルを保存しようとしたときに使用する名前を指定したりできます。

Response.AppendHeader("Content-Disposition", new System.Net.Mime.ContentDisposition { Inline = true, FileName = "myCorrectlyNamed.pdf" }.ToString());
return new Rotativa.ViewAsPdf("myViewName", "~/Views/Shared/_PDFLayout.cshtml", myModel)
{
    PageSize = ... // plus some more options
};
于 2015-12-22T05:23:38.680 に答える