将csv文件下载为,而不是在浏览器ASP.NET MVC中打开

本文关键字:NET ASP 浏览器 MVC 文件下载 csv | 更新日期: 2023-09-27 18:28:04

所以我有一个MVC ASP.NET项目,在视图上单击按钮时,它应该要求用户保存/打开文件。但它的作用是在浏览器中打开文件。该文件是csv文件。

这是视图的代码

@using (Html.BeginForm("Download", "Home", new { name = ViewBag.Downloadfilename }, FormMethod.Post))
{
<button type="submit">Button 1</button>
 }

而控制器的代码是这样的

     public ActionResult Download(string name)
        {
            //string file = @"c:'someFolder'foo.xlsx";
            string contentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            string file = name;
          return File(file, Path.GetFileName(file));
        }

因此,任何人都知道控制器如何强制用户保存文件,而不是在浏览器中打开。(使用铬)。

感谢

将csv文件下载为,而不是在浏览器ASP.NET MVC中打开

  //Gives me a download prompt.
  return File(document.Data, document.ContentType, document.Name);

 //Opens if it is a known extension type, downloads otherwise (download has      bogus name and missing extension)
 return new FileStreamResult(new MemoryStream(document.Data), document.ContentType);
 //Gives me a download prompt (lose the ability to open by default if known type)
return new FileStreamResult(new MemoryStream(document.Data), document.ContentType) {FileDownloadName = document.Name};