4

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

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

这是我的代码:

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

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

这里还有什么问题?

4

1 回答 1

4

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

return File(service.initiateCsvGeneration(1), "text/csv", "myfile.csv");
于 2013-06-04T11:59:30.907 回答