estoy generando archivos ICS (iCalendar o RFC 2445 o como se les llama) usando una biblioteca que serializa el contenido de iCal en un MemoryStream, o en realidad cualquier tipo de flujo.FileResult con MemoryStream da resultado vacío .. ¿cuál es el problema?
Aquí es mi trozo de código:
public ActionResult iCal(int id) {
MyApp.Event kiEvt = evR.Get(id);
// Create a new iCalendar
iCalendar iCal = new iCalendar();
// Create the event, and add it to the iCalendar
DDay.iCal.Components.Event evt = iCal.Create<DDay.iCal.Components.Event>();
// Set information about the event
evt.Start = kiEvt.event_date;
evt.End = evt.Start.AddHours(kiEvt.event_duration); // This also sets the duration
evt.Description = kiEvt.description;
evt.Location = kiEvt.place;
evt.Summary = kiEvt.title;
// Serialize (save) the iCalendar
iCalendarSerializer serializer = new iCalendarSerializer(iCal);
System.IO.MemoryStream fs = new System.IO.MemoryStream();
serializer.Serialize(fs, System.Text.Encoding.UTF8);
return File(fs, "text/calendar", "MyApp.wyd."+kiEvt.id+".ics");
}
Mi problema es que fs contiene algún contenido, pero el controlador devuelve archivo vacío - con el tipo MIME y el nombre adecuado. Probablemente me esté perdiendo algo con el manejo del flujo, pero no puedo entender qué.
¿Alguien puede echarme una mano? Gracias por adelantado.
Bingo! Muchas gracias. –
Gracias Matt! Esto me ahorró un montón de tiempo. Tan básico pero fácil de pasar por alto. – jhappoldt