下载文件会用html替换内容

时间:2016-06-17 13:20:37

标签: jquery html asp.net-mvc csv download

我在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;它。

1 个答案:

答案 0 :(得分:0)

执行此操作的正常方法是让您的按钮发布/获取一个返回FileResult的操作,然后浏览器将执行默认设置文件下载操作。

https://msdn.microsoft.com/en-us/library/system.web.mvc.fileresult(v=vs.118).aspx