5

PDF を返す FileResult アクションがあります。この PDF を object タグに埋め込みたい。以下のように object タグの data 属性にアクションを挿入すると、Chrome で PDF が取得または表示されません。(PDF は、Adobe プラグインを使用した Firefox で表示されます。IE は気にしません。)

<object data="@Url.Action("GetPDF", "PDFCreation", new {id= Model.DocumentId})" type="application/pdf"></object>

それ以外の場合はすべて機能します。オブジェクト タグは、ファイル システム上の PDF への直接リンク (例: data="~/Content/test.pdf") で機能し、上記のアクションは、ロケーション バーにハード ペーストされた場合、 PDFをダウンロードします。

何かご意見は?ありがとうございました!

4

2 に答える 2

3

FileContentResult と次のオブジェクト タグを使用して、スローされた Pdf を IE に表示させることができました。

<object>
    <embed src="@Url.Action("GetPDF", "PDFCreation", new {id= Model.DocumentId})" type="application/pdf"></embed>
</object>

試してみる価値があるかもしれません

于 2012-12-19T09:59:15.230 に答える
1

この回答で修正しました: Return a file to View/Download in ASP.NET MVC

コンテンツ ディスポジション ヘッダーを追加し、コンテンツ ディスポジションの「インライン」値を true に設定する必要がありました。

var doc = ...
var contentDisposition = new ContentDisposition
{
    FileName = doc.FileName,
    Inline = true
};

Response.AppendHeader("Content-Disposition", contentDisposition.ToString());

return File(doc.Path, MediaTypeNames.Application.Pdf);
于 2012-12-19T12:09:36.503 に答える