请求微信接口,上传图片,返回media_id(WXApi类):
/// <summary>
/// 上传媒体返回媒体ID
/// </summary>
public static string UploadMedia(string access_token, string type, string path)
{
// 设置参数
string url = string.Format("http://www.easck.com/cgi-bin/media/upload?access_token={0}&type={1}", access_token, type);
return HttpRequestUtil.HttpUploadFile(url, path);
}
string msg = WXApi.UploadMedia(access_token, "image", path); // 上图片返回媒体ID
string media_id = Tools.GetJsonValue(msg, "media_id");
传入的path(aspx.cs文件中的代码):
string path = MapPath(data);
一个图文消息由若干条图文组成,每条图文有标题、内容、链接、图片等
遍历每条图文数据,分别请求微信接口,上传图片,获取media_id
3、上传图文消息素材
拼接图文消息素材Json字符串(ImgItemDal类(操作图文消息表的类)):
/// <summary>
/// 拼接图文消息素材Json字符串
/// </summary>
public static string GetArticlesJsonStr(PageBase page, string access_token, DataTable dt)
{
StringBuilder sbArticlesJson = new StringBuilder();
sbArticlesJson.Append("{"articles":[");
int i = 0;
foreach (DataRow dr in dt.Rows)
{
string path = page.MapPath(dr["ImgUrl"].ToString());
if (!File.Exists(path))
{
return "{"code":0,"msg":"要发送的图片不存在"}";
}
string msg = WXApi.UploadMedia(access_token, "image", path); // 上图片返回媒体ID
string media_id = Tools.GetJsonValue(msg, "media_id");
sbArticlesJson.Append("{");
sbArticlesJson.Append(""thumb_media_id":"" + media_id + "",");
sbArticlesJson.Append(""author":"" + dr["Author"].ToString() + "",");
sbArticlesJson.Append(""title":"" + dr["Title"].ToString() + "",");
sbArticlesJson.Append(""content_source_url":"" + dr["TextUrl"].ToString() + "",");
sbArticlesJson.Append(""content":"" + dr["Content"].ToString() + "",");
sbArticlesJson.Append(""digest":"" + dr["Content"].ToString() + "",");
if (i == dt.Rows.Count - 1)
{
sbArticlesJson.Append(""show_cover_pic":"1"}");
}
else
{
sbArticlesJson.Append(""show_cover_pic":"1"},");
}
i++;
}
sbArticlesJson.Append("]}");
return sbArticlesJson.ToString();
}










