步骤1:上传图片素材得到media_id
步骤2:上传永久图文素材得到media_id(封面图片为步骤1图片素材的media_id)
步骤3:群发图文素材media_id
#region 群发到微信
//根据appId判断获取
if (!AccessTokenContainer.CheckRegistered(appId)) //检查是否已经注册
{
AccessTokenContainer.Register(appId, appSecret); //如果没有注册则进行注册
}
string access_token = AccessTokenContainer.GetAccessTokenResult(appId).access_token; //获取AccessToken结果
string media_id_img = ""; //图片media_id
string media_id_tuwen = ""; //图文media_id
//新增永久素材(图片) 将作为微信群发消息的封面图片
UploadForeverMediaResult uploadResult_IMG = MediaApi.UploadForeverMedia(access_token, Server.MapPath(imgPathWX));
if (uploadResult_IMG.errcode.ToString().Contains("成功"))
{
media_id_img = uploadResult_IMG.media_id;
}
else
{
Js.JsAlert(this, "", "新增图片素材出错:" + uploadResult_IMG.errmsg, "error", "");
return;
}
//新增永久素材(图文)
NewsModel newsmodel = new NewsModel();
newsmodel.title = title;
newsmodel.thumb_media_id = media_id_img; //上面的图片素材media_id
newsmodel.author = "";
newsmodel.digest = StringUtil.DropHTML(weixin_content, 250);
newsmodel.show_cover_pic = "1";
#region 将内容中的图片转为微信图片 注:内容中的图片必须通过微信官方接口转换,否则微信将过滤图片,不显示
if (weixin_content.Contains("src="))
{
Regex reg = new Regex("(i?)<img.*? src=\"?(.*?\\.(jpg|gif|bmp|bnp|png))\".*?\\s?/>"); //定义正则表达式
MatchCollection mc = reg.Matches(weixin_content); //在内容中匹配与正则表达式匹配的字符
foreach (Match m in mc) //循环匹配到的字符
{
if (!m.Value.Contains("http://")) //外链的图片就不用转换了(外链的就是已经转换为微信链接的)
{
int srcIndex = m.Value.IndexOf("src=\"");
string strSrc = m.Value.Substring(srcIndex);
int firstIndex = strSrc.IndexOf("\"");
int lastIndex = strSrc.IndexOf("\"", firstIndex + 1);
string src = strSrc.Substring(firstIndex + 1, lastIndex - firstIndex - 1);
string srcPath = Server.MapPath(src);
//将内容中的图片上传到微信服务器
UploadImgResult uploadImgResult = MediaApi.UploadImg(access_token, srcPath);
if (uploadImgResult.errcode.ToString().Contains("成功")) //返回的是请求成功
{
weixin_content = weixin_content.Replace(src, uploadImgResult.url);
}
else
{
Js.JsAlert(this, "", "转为微信图片出错:" + uploadImgResult.errmsg, "error", "");
return;
}
}
}
}
#endregion
newsmodel.content = weixin_content;
newsmodel.content_source_url = "";
UploadForeverMediaResult uploadResult_TUWEN = MediaApi.UploadNews(access_token, 10000, newsmodel);
if (uploadResult_TUWEN.errcode.ToString().Contains("成功")) //返回的是请求成功
{
media_id_tuwen = uploadResult_TUWEN.media_id;
}
else
{
Js.JsAlert(this, "", "新增图文素材出错:" + uploadResult_TUWEN.errmsg, "error", "");
return;
}
//群发图文消息(这个是根据openId群发的,根据实际修改)
SendResult sendResult = GroupMessageApi.SendGroupMessageByOpenId(access_token, GroupMessageType.mpnews, media_id_tuwen, 10000, new string[] { "oLTAiwWgQvNmEerkShPq5YwICEXQ", "oLTAiwbWgpL8bYJZLGb_GewLSxm4" });
if (!sendResult.errcode.ToString().Contains("成功")) //返回的是请求成功
{
Js.JsAlert(this, "", "微信群发出错:" + sendResult.errmsg, "error", "");
return;
}
#endregion