0

Windows 8でVS 2012を実行しています(Mac OS Xでホストされている仮想ボックス上)。C# の MVC 3。

ユーザーがドキュメントを選択すると、新しいブラウザ ウィンドウで開く必要があります。

現在: Chrome (v24.0.1312.56 m) - 必要に応じて新しいウィンドウで開きます
Firefox (v18.0.1) - ユーザーに開くか保存するように求めます。TWinUI (ugh) (およびダウンロード) で開きます。
IE (v10.0.9200.16466) - 開くか保存するかをユーザーに促します。TWinUI で開く

コードは次のとおりです。

    [HttpGet]
    public ActionResult Details(int id)
    {
        Document document = portalDB.Documents.Find(id);
        Response.Headers.Remove("Content-Disposition");
        Response.Headers.Add("Content-Disposition", "inline; filename=" + document.FileName);
        return File(System.IO.Path.Combine(Server.MapPath("~/App_Data/Documents"), document.FileName), "application/pdf");
    }

IE 応答ヘッダーは次のとおりです。

Key                     Value
Response                HTTP/1.1 200 OK
Cache-Control           private, s-maxage=0
Content-Type            application/pdf
Server                  Microsoft-IIS/8.0
X-AspNetMvc-Version     3.0
Content-Disposition     inline; filename=DeclarationAndByLaws.pdf
X-AspNet-Version        4.0.30319
X-SourceFiles           =?UTF-8?B?YzpcdXNlcnNcbWlrb1xkb2N1bWVudHNcdmlzdWFsIHN0dWRpbyAyMDEyXFByb2plY3RzXENlZGFyQXBwbGljYXRpb25cQ2VkYXJBcHBsaWNhdGlvblxQb3J0YWxcRGV0YWlsc1wx?=
X-Powered-By            ASP.NET
Date                    Mon, 28 Jan 2013 22:01:52 GMT

Firefox: ダウンロード プロンプトで firebug が持続しなかったため、ヘッダーを取得できませんでした。

4

1 に答える 1

-1

を に変更return Filereturn Redirectます。return Fileブラウザでファイルをフラッシュし、応答を終了することを意味します。

于 2013-01-29T06:17:14.650 に答える