飞翔的小菜鸟 发表于 2013-1-2 23:09:26

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]
查看完整版本: rtf格式内容转html