2010-01-09 129 views
2

我想使用内置的asp.net文件结果返回一个文件,我试图通过文件流。我使用Dday.ical使我的日历出口文件是空的,我不明白为什么。 Asp.net mvc FileResult

MemoryStream export = new MemoryStream();   
    iCalendarSerializer serializer = new iCalendarSerializer(iCal); 
    serializer.Serialize(export,System.Text.Encoding.Default); 
    return export; 

这里是我的ActionResult

public ActionResult ExportCalendar() 
{ 
    string userName = User.Identity.Name; 
    Guid userId = membershipS.GetUsersId(userName); 
    var calendarStream = calendarS.ExportCalendar(userId); 
    return File(calendarStream, "text/calendar", "test.ics");  
} 

当我下载它是0bytes文件。

回答

3

尝试重置流的位置:(!之后有明显没有更多的字节)

calendarStream.Position = 0; 

这样,当FileResult开始从流中读取它会从一开始,而不是从终端阅读。

相关问题