我在Visual Studio中使用ASP.NET MVC,当我点击Index.html页面上的按钮时,它应该启动文件下载。
文件结构为:
~/Layer1/Layer2/(Index.html and Data.csv).
我的href指向" Data.csv",我要下载的文件。它不是下载文件的内容,而是将其作为另一个网页读取并下载HTML页面... / Index / Data.csv。因此,当它在excel中打开时,会出现一堆html内容,而不是文件的csv内容。
编辑。这是一个标签(使用Knockout进行数据绑定):
<a class="btn" data-bind="click: exportToCSV" download>EXPORT TO CSV</a>
exportToCSV函数修改调用函数,修改csv文件,然后执行:
var link = document.createElement("a");
link.download = "Data.csv";
link.href = "Data.csv";
link.click();
这会创建一个带有文件引用的新元素,并且&#34;点击&#34;它。
答案 0 :(得分:0)
执行此操作的正常方法是让您的按钮发布/获取一个返回FileResult的操作,然后浏览器将执行默认设置文件下载操作。
https://msdn.microsoft.com/en-us/library/system.web.mvc.fileresult(v=vs.118).aspx