我们使用以下代码创建了一个 vcs 文件。
Dim mstream As New MemoryStream
Dim writer As New StreamWriter(mstream)
writer.AutoFlush = True
GetvCalendarText(writer)
Response.Clear()
Response.AppendHeader("Content-Disposition", "attachment; filename=Event" & eventID & ".vcs")
Response.AppendHeader("Content-Length", mstream.Length.ToString)
Response.ContentType = "application/download"
Response.BinaryWrite(mstream.ToArray)
Response.End()
GetCalendarText 方法
Dim body As String = <b>New event</b> writer.WriteLine("BEGIN:VCALENDAR{0}", vbCrLf) writer.WriteLine("VERSION:1.0{0}", vbCrLf) writer.WriteLine("BEGIN:VEVENT{0}", vbCrLf) writer.WriteLine("DTStart:{0}{1}", DateTime.Now.ToString("yyyyMMddTHHmm00Z"), vbCrLf) writer.WriteLine("DTEnd:{0}{1}", DateTime.Now.AddHours(2).ToString("yyyyMMddTHHmm00Z"), vbCrLf) writer.WriteLine("DESCRIPTION:{0}", body) writer.WriteLine("X-ALT-DESC;FMTTYPE=text/html:{0}", body) writer.WriteLine("SUMMARY;ENCODING=QUOTED-PRINTABLE:{0}{1}", Test event, vbCrLf) writer.WriteLine("PRIORITY:3{0}", vbCrLf) writer.WriteLine("END:VEVENT{0}", vbCrLf) writer.WriteLine("END:VCALENDAR{0}", vbCrLf)
它正在生成 vcs 文件,并在打开该文件时在 Outlook 2010 中打开,主题、开始时间和结束时间具有正确的值。
我们给出的描述是 html 格式,但显示为纯文本。
那么我们如何显示 html 描述。
最佳答案
我尝试以 vCalendar 格式添加 html 描述,但找不到任何合适的方法来执行此操作。
最终将我们的 vCalendar 格式更改为 iCalendar,并且它允许显示 html 描述。
我们删除了描述行,即 writer.WriteLine("DESCRIPTION:{0}", body)
现在它显示 html 格式的描述。
以下部分也发生了变化。
Response.AppendHeader("Content-Disposition", "attachment; filename=Event" & eventID & ".ics")
和
writer.WriteLine("VERSION:2.0{0}", vbCrLf)
关于vb.net - html 中的 VCS 文件描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13395813/