2

我正在尝试使用内置的 asp.net 文件结果来返回我试图通过文件流制作的文件。我正在使用 Dday.ical 制作我的日历以供导出

    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。

4

1 回答 1

4

尝试重置流的位置:

calendarStream.Position = 0;

这样,当FileResult开始从流中读取时,它将从头而不是从尾读取它(之后显然没有更多字节了!)。

于 2010-01-09T04:04:59.000 回答