我想问一下,如何在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。
答案 0 :(得分:3)
请记住,HTTP不一定具有“文件”的概念。它有要求和回应。每个都有标题和内容。所以你想要的是返回一个文件的内容,标题表明它是一个“文件”,应该这样对待。当然,仍然需要浏览器如何实际处理它。
在ASP.NET MVC中执行此操作的方法是return a File()
from your controller action。像这样:
return File("SomeFile.xlsx", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
当然,File()
方法有几个重载,其中一些接受字节数组或流而不是实际服务器端文件的名称。