Exemplo n.º 1
0
 /// <summary>
 /// 上传媒体文件
 /// </summary>
 /// <param name="context">Context.</param>
 /// <param name="articles">Articles.</param>
 public void upload(JabinfoContext context,string articles)
 {
     if (!context.IsPost) {
         context.Variable ["articles"] = articles;
         return;
     }
     Weixin wx = new Weixin ();
     Utils util = new Utils ();
     string[] article =context.Post["articles"].Split (',');
     StringBuilder str = new StringBuilder ("{ \r\n");
     StringBuilder con = new StringBuilder ();
     str.Append (" \"articles\": [ \r\n");
     for (int i = 0; i < article.Length - 1; i++) {
         ArticleVO ar = ArticleMapper.I.Create (article [i]);
         ArticleDetailVO d = ArticleDetailMapper.I.Create (article [i]);
         con.Append("{ \r\n");
         Regex reg = new Regex(@"(?i)</?a\b[^>]*>");    //去掉字符串的<a>标签
         Regex reg1=new Regex(@"<img[^>]*?/>");         //去掉img标签
         Regex reg2=new Regex(@"style=""[^""]*""");     //去掉style标签
         string result = reg.Replace(d.content, "");
         result = reg1.Replace (result, "");
         result = reg2.Replace (result, "");
         string file = Jabinfo.Help.Upload.PysPath (ar.articleId,"jpg");
         string url = "http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token="+wx.GetAccessToken();
         url = url + "&type=image";
         string json = util.HttpUpload (url, file);
         con.Append (string.Format(" \"thumb_media_id\":\"{0}\", \r\n",wx.GetJsonValue (json,"media_id")));
         con.Append("\"author\":\"" + ar.author.ToString() + "\",");
         con.Append("\"title\":\"" + ar.title.ToString() + "\",");
         con.Append(string.Format(" \"content_source_url\":\"{0}\", \r\n","http://wx.zento.me/article/home/detail/"+ ar.articleId));
         con.Append("\"content\":\"" + Jabinfo.Help.Formate.ClearSpace(result) + "\",");
         con.Append("\"digest\":\"" +  Jabinfo.Help.Formate.ClearSpace(ar.summary) + "\",");
         con.Append (" \"show_cover_pic\":\"0\" \r\n");
         con.Append (" },");
     }
     string mian = con.ToString ();
     string text = mian.Substring (0, mian.Length - 1);
     str.Append (text);
     str.Append ("  ] \r\n");
     str.Append ("} \r\n");
     wx.UpNews (str.ToString (),context.Post["title"]);
     context.Refresh ();
 }