Файл пуст, и я не понимаю, почему. Asp.net mvc FileResult

Я пытаюсь использовать результат встроенного файла asp.net, чтобы вернуть файл, который я пытаюсь создать через поток файлов. Я использую Dday.ical, чтобы сделать мой календарь для экспорта

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

Вот мой результат действия

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");       
}

Когда я загружаю файл, это 0 байтов.

1 ответ

Решение

Попробуйте сбросить позицию потока:

calendarStream.Position = 0;

Таким образом, когда FileResult начинает читать из потока, он будет читать его с начала, а не с конца (после которого, очевидно, больше нет байтов!).

Другие вопросы по тегам