如何将.ics文件作为可下载的c#

时间:2014-08-04 16:06:41

标签: c# asp.net dday

对于导出.ics文件,我编写了以下代码。  折叠|复制代码

iCalendar iCal = new iCalendar();
            foreach (DataRow row in dt.Rows)
            {
                // Create the event, and add it to the iCalendar
                Event evt = iCal.Create<event>();

            // Set information about the event
            evt.Start = (DDay.iCal.iCalDateTime)Convert.ToDateTime(row["StartDate"]);
            evt.End = (DDay.iCal.iCalDateTime)Convert.ToDateTime(row["EndDate"]);// This also sets the duration
            evt.Description = (string)row["Description"];
        }


     // Serialize (save) the iCalendar
 iCalendarSerializer serializer = new iCalendarSerializer();
        serializer.Serialize(iCal, @"C:\iCalendar.ics");

它对我来说很好,但它将文件写入C盘或根据我们给出的路径。但我需要它可以下载。

我尝试了一些代码,但这不是我需要的确切格式。

提前致谢。

1 个答案:

答案 0 :(得分:2)

文档支持使用流。您可以将日历的内容写入响应。确保你也设置了mime类型。

iCalendarSerializer serializer = new iCalendarSerializer(iCal);
serializer.Serialize(Response.OutputStream, Encoding.ASCII);

http://www.ddaysoftware.com/Pages/Projects/DDay.iCal/Documentation/