2017-03-11 11 views
0

私のシステムはファイルをアップロードし、フォルダに保存します。今、このファイルをもう一度ダウンロードしようとしています。私がダウンロードされ、選択したファイルのファイル名を通過するためにこれを使用私の見解ではオープンリンクの代わりにブラウザを誤ってダウンロードする

が、これはしかし、これは通過したこの「ID」を使用してダウンロードを開始するには、このメソッドを呼び出す必要があり

@Html.ActionLink("Download", "Download", new { id = item.Attachment.ToString() }) 

正常に動作します代わりに私を "http://localhost:55349/MyDocumentUps/Download/Resume.pdf"にリダイレクトしようとします。どのようにブラウザを誤解させて、それが未知のタイプであるかのように扱い、それを開く代わりにダウンロードするようにしますか?

[HttpPost, ActionName("Download")] 
[ValidateAntiForgeryToken] 
public FileResult Download(string id) 
{ 
    // return File("~/Content/fileHistory" + id, System.Net.Mime.MediaTypeNames.Application.Octet); 
    return new FilePathResult("~/Content/fileHistory" + id, System.Net.Mime.MediaTypeNames.Application.Octet); 
} 
+0

model-view-controllerタグは、パターンに関する質問用です。 ASP.NET-MVCの実装には特定のタグがあります。 –

答えて

0

応答ヘッダーにContent-Type: application/octet-streamを設定する必要があります。

+0

申し訳ありませんが、私はまだMVCを学んでいますが、レスポンスヘッダーに設定するとどういう意味ですか? (応答ヘッダとは何ですか?)@Xaqron –

+0

HttpContext.Current.Response.AppendHeader( "Content-Type"、 "application/octet-stream"); – Xaqron

+0

どこに行くのですか?私はそれを置く場所を見つけることができないように見える –

関連する問題