rtf格式内容转html
<div id="cnblogs_post_body">最近项目里需要把以前的客户问题数据导入到新的系统中来,从开始到完成整整花了一天半的时间,现把大概的一些开发过程记录如下:
一.分析
图Ahttp://pic002.cnblogs.com/images/2012/86192/2012112018041696.pnghttp://pic002.cnblogs.com/images/2012/86192/2012112018023881.png
图B
要从A中的内容转成B,先分析图A
1.A中内容是经过base64编码过的;
2.A中可能有0张或1张以上图片;
3.转化后看出内容是rtf格式
,所以,核心是rtf格式的转化是实现的难点。
二.实现
1.从数据库里读出数据(略)
2.把 解码 base64的内容成字符串
<div class="cnblogs_code"> 1 string strPress= Decompress(Convert.FromBase64String(QuestionContent)) 2 3 4 5 6 /// <summary> 7 /// 解压缩字符串 8 /// </summary> 9 /// <param name="buf">压缩后的的数据</param>10 /// <returns>解压后的数据</returns>11 public static string Decompress(byte[] buf)12 {13 if (buf.Length < 1)14 return "";15 16 long totalLength = 0;17 int size = 0;18 MemoryStream ms = new MemoryStream(), msD = new MemoryStream();19 ms.Write(buf, 0, buf.Length);20 ms.Seek(0, SeekOrigin.Begin);21 GZipStream zip;22 zip = new GZipStream(ms, CompressionMode.Decompress);23 byte[] db;24 bool readed = false;25 while (true)26 {27 size = zip.ReadByte();28 if (size != -1)29 {30 if (!readed) readed = true;31 totalLength++;32 msD.WriteByte((byte)size);33 }34 else35 {36 if (readed) break;37 }38 }39 zip.Close();40 db = msD.ToArray();41 msD.Close();42 return Encoding.UTF8.GetString(db);43 }
页:
[1]