将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));
}
因此,任何人都知道控制器如何强制用户保存文件,而不是在浏览器中打开。(使用铬)。
感谢
//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};