53

ユーザーにいくつかのドキュメントを表示する MVC プロジェクトがあります。ファイルは現在、Azure BLOB ストレージに格納されています。

現在、ドキュメントは次のコントローラー アクションから取得されます。

[GET("{zipCode}/{loanNumber}/{classification}/{fileName}")]
public ActionResult GetDocument(string zipCode, string loanNumber, string classification, string fileName)
{
    // get byte array from blob storage
    byte[] doc = _docService.GetDocument(zipCode, loanNumber, classification, fileName);
    string mimeType = "application/octet-stream";
    return File(doc, mimeType, fileName);
}

現在、ユーザーが次のようなリンクをクリックすると:

<a target="_blank" href="http://...controller//GetDocument?zipCode=84016&loanNumber=12345678classification=document&fileName=importantfile.pdf

次に、ファイルがブラウザのダウンロード フォルダにダウンロードされます。私がやりたいこと (そして私はデフォルトの動作だと思っていました) は、ファイルが単にブラウザーに表示されるようにすることです。

MIME タイプを変更し、戻り値の型を ActionResult ではなく FileResult に変更しようとしましたが、どちらも役に立ちませんでした。

ファイルをダウンロードする代わりにブラウザで表示するにはどうすればよいですか?

4

4 に答える 4

17

他の誰かが少し前に同様の質問をしたようです:

PDFファイルを強制的にブラウザで開く方法

ヘッダーを使用する必要があるという回答があります。

Content-Disposition: inline; filename.pdf
于 2013-10-16T19:12:57.397 に答える
4

ブラウザーは、MIME タイプに基づいてダウンロードまたは表示を決定する必要があります。

これを試して:

string mimeType = "application/pdf";
于 2013-10-16T19:11:00.713 に答える