2012-05-21 54 views
2

我有一個操作,它負責從數據庫中提取一些數據並將其作爲CSV文件返回。MVC操作返回CSV文件

我知道我可以通過返回一個巨大的字符串來做到這一點,但我想如果有一種乾淨而高效的方式可以用來通過MVC控制器操作返回一個CSV文件。

+2

其MVC框架? –

+0

或者使用FileStreamResult對象,而不是像的ActionResult [本堆棧溢出交] [1] [1]:http://stackoverflow.com/questions/1375486/how-to-create-file-and -return-it-via-fileresult-in-asp-net-mvc – leon

+0

我正在使用MVC 3 –

回答

5

的FileResult是你在找什麼:

http://msdn.microsoft.com/en-us/library/system.web.mvc.fileresult.aspx

public ActionResult GetFile() 
{ 
    var stream = new StreamReader("thefilepath.txt"); 
    return File(stream.ReadToEnd(), "text/plain"); 
} 

問候

+0

感謝您的回覆。我遇到了類似的解決方案,但有人爭辯說,這將在服務器上創建一個新的文件,每次 –

+2

我沒有看到你在服務器上創建一個新文件的位置..你只是將文件讀入流中,不會創建任何其他內容。如果不確定,請使用MemoryStream而不是StreamReader。 – Oscar