单击链接时,MVC剃刀中的SaveFile对话框

时间:2013-09-26 10:26:35

标签: asp.net-mvc-4 razor

我想问一下,如何在mvc razor4中打开savefile对话框? 我想使用普通的savefile对话框,但我发现它只能在Win表单中使用。所以我在谷歌搜索但没有找到好的解决方案。只有那个

<input type="file" /> 

但我认为覆盖他的外表是有问题的。

我有这样的事情:

<a href="@Url.Action("ExcelExport","Home")"><img src="@Url.Content("~/images/excel_icon.png")" id="excel-export-img" /></a>

我想在点击后显示Savefile对话框。 了解一些有关它的材料或如何做到这一点?

Thak you。

1 个答案:

答案 0 :(得分:3)

请记住,HTTP不一定具有“文件”的概念。它有要求和回应。每个都有标题和内容。所以你想要的是返回一个文件的内容,标题表明它是一个“文件”,应该这样对待。当然,仍然需要浏览器如何实际处理它。

在ASP.NET MVC中执行此操作的方法是return a File() from your controller action。像这样:

return File("SomeFile.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");

当然,File()方法有几个重载,其中一些接受字节数组或流而不是实际服务器端文件的名称。