2012-06-07 58 views
0

我有一个控制器和下载文件的方法。没有代码,我需要的只是去这个链接:从我的项目中下载文件

http://localhost:1186/Content/MyFolder/file1.exe 

和文件被下载。

我试着用代码来做到这一点是这样的:

Response.Redirect(Server.MapPath("~\\Content\\MyFolder\\file1.exe")); 

但断点通过此行并没有任何反应。我认为问题是我正在使用Server.MapPath,但我还会如何做到这一点?

+0

Server.Ma pPath返回资源的物理路径,请尝试Response.Redirect(“〜\\ Content \\ MyFolder \\ file1.exe”); – MSUH

+0

此相关的有关下载使用MVC文件可能是有用的,这样的问题,http://stackoverflow.com/questions/5826649/returning-a-file-to-view-download-in-mvc – Despertar

回答

0

你可以做这样的事情

创建一个动作

public ActionResult RedirectToDownload() 
{ 
    return View(); 
} 

,然后上载使用JavaScript的看法重定向到URL

$(document).ready(function() { 
    window.navigate("~/Content/MyFolder/file1.exe"); 
}); 

您也可以使用此

public ActionResult Index() 
{ 
    return Redirect("~/Content/MyFolder/file1.exe"); 
} 
+0

我看不到的点让控制器将用户发送给重新定向用户的视图。这是控制器执行重定向的主要工作。 – Despertar

+0

你仍然需要一个视图,除非你是直接从动作下载过文件 –

+0

@Despertar http://blogs.msdn.com/b/rickandy/archive/2012/03/01/response-redirect-and-asp-net -mvc-拒收mix.aspx –