Ich erstelle ics-Dateien (iCalendar oder RFC 2445 oder wie auch immer Sie sie nennen) mit einer Bibliothek, die den Inhalt in einen MemoryStream serialisiert, oder tatsächlich jede Art von Stream.FileResult mit MemoryStream gibt leere Ergebnis .. Was ist das Problem?
Hier ist mein Stück Code:
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");
}
Mein Problem ist, dass fs einige Inhalte enthält, aber die Steuerung kehrt leere Datei - mit der richtigen MIME-Typ und den Dateinamen. Ich verpasse wahrscheinlich etwas mit dem Stream-Handling, kann aber nicht herausfinden, was.
Kann mir hier jemand helfen? Danke im Voraus.
Bingo! Vielen Dank. –
Danke Matt! Das hat mir eine Menge Zeit gespart. So einfach, aber leicht übersehen. – jhappoldt