ASP.NET MVC 3从控制器返回.csv文件

时间:2013-06-04 11:56:02

标签: asp.net-mvc-3

我想从控制器中的ASP.NET MVC 3 ActionResult返回一个.csv文件。我发现其他人在网上做这个的例子,但似乎他们有一个ASP数据结构,他们正在转换为csv。

我的情况有点不同。我实际上在本地驱动器上有一个名为myfile.csv的文件。我想返回文件,以便用户可以将其下载为.csv。

这是我的代码:

public ActionResult GetCSVFile()
    {
        return File(service.initiateCsvGeneration(1), "text/csv");
    }

initiateCsvGeneration返回一个字符串,其中包含文件名的路径。我的文件名已经有.csv扩展名,并且它已经是逗号分隔格式。由于某种原因,它正在切断我的文件名中的.csv扩展名。它不是允许用户将其下载为myfile.csv,而是将它们下载为myfile,尽管实际的磁盘文件具有.csv扩展名,并且它也存在于initiateCsvGeneration的字符串中。

这里还有什么可能是错的?

1 个答案:

答案 0 :(得分:4)

您应该明确指定所需的文件名 - 然后您的用户就可以在下载对话框中看到它:

return File(service.initiateCsvGeneration(1), "text/csv", "myfile.csv");