C#webClient-> DownloadFile下载无法启动

时间:2013-09-27 11:16:30

标签: c# asp.net-mvc razor download webclient

我是C#编程的绝对初学者,有一个愚蠢的问题。我只想下载文件,这些文件位于带有WebClient.DownloadFile的临时目录中。 代码是(操作以按钮单击页面上的两个按钮之一开始):

[HttpPost]
[MultiButton(MatchFormKey = "action", MatchFormValue = "ABC")]
public ActionResult ABC(TestFormModel model)
{
  string fileName = model.resultLink;
  try
     {
       string tempPath = System.IO.Path.GetTempPath();
       System.IO.Directory.SetCurrentDirectory(tempPath);
       fileName = System.IO.Path.Combine(tempPath, fileName);

       Uri uri = new Uri(fileName);

       WebClient webClient = new WebClient();
       webClient.DownloadFile(uri, "FFF");                    
     }
  catch (Exception ex)
     { ... }                  
  return View(); 
}

现在我预计(阅读“使用指定URI将资源下载到本地文件。”文档中)来自浏览器的下载对话框将支持。但是没有发生。没有例外,没有下载对话框。我的代码出了什么问题?

非常感谢!

1 个答案:

答案 0 :(得分:0)

在这种情况下,“本地文件”是服务器上的文件(本地到Web服务器),而不是最终用户的本地文件。

这里的想法是,一旦您将资源从一个位置下载到本地服务器,您就可以将用户重定向到该下载的文件,如果他们的浏览器设置为这样做,则会出现一个对话框,允许他们保存文件。

从外观上看,您将文件本地服务器下载到本地服务器。

如果您的本地服务器上已经存在该文件,您只需在操作方法结束时重定向用户,他们的浏览器将处理剩下的工作。

return Redirect(fileUrl);