私は、Memoryコンテンツ(実際には任意のタイプのストリーム)にコンテンツを直列化するライブラリを使用して、icsファイル(iCalendarまたはRFC 2445またはそれらを呼び出す)を生成しています。FileResult with MemoryStreamは空の結果を返します。何が問題なのですか?
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");
}
私の問題は、それが一部のコンテンツが含まれているfsはあるが、コントローラは、空のファイルを返します - 適切なMIMEタイプとファイル名を指定して:
は、ここでは、コードの私の塊です。私はおそらくストリーム処理で何かを見逃していますが、何が分からないのでしょうか。
誰でも私をここで助けることができますか?前もって感謝します。
ビンゴ!どうもありがとうございました。 –
ありがとうMatt!これは私に1トンの時間を節約しました。基本的だが簡単に見落とされる。 – jhappoldt