首页 > PHP资讯 > 工具库 > asp.net微信开发中永久素材管理介绍

asp.net微信开发中永久素材管理介绍

工具库
这篇文章讲述asp.net微信开发中永久素材管理介绍的相关内容,需要的朋友可以参考下

除了3天就会失效的临时素材外,开发者有时需要永久保存一些素材,届时就可以通过本接口新增永久素材。

最近更新,永久图片素材新增后,将带有URL返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。

请注意:

  • 1、新增的永久素材也可以在公众平台官网素材管理模块中看到

  • 2、永久素材的数量是有上限的,请谨慎新增。图文消息素材和图片素材的上限为5000,其他类型为1000

  • 3、素材的格式大小等要求与公众平台官网一致。具体是,图片大小不超过2M,支持bmp/png/jpeg/jpg/gif格式,语音大小不超过5M,长度不超过60秒,支持mp3/wma/wav/amr格式

  • 4、调用该接口需https协议

先来看我自己自定义的后台永久素材管理效果图,如下:

///  /// 微信永久素材实体类,用于保存永久素材上传至微信服务器后返回的数据 ///  public class WxSuCaiInfo { public int SuCaiId { get; set; }//自增列序号 public string SuCaiUrl { get; set; }// 存储文件名 public string SuCaiType { get; set; }//素材类型,可分为image,voice,video,thumb(缩略图) public string SuCaiTitle { get; set; }//图文消息的标题 public string SuCaiDigest { get; set; }//图文消息的摘要 public string SuCaiauthor { get; set; }//图文消息的作者 public string SuCaishow_cover_pic { get; set; }//图文消息是否显示封面.保存0或1 public string SuCaicontent { get; set; }//图文消息的正文内容 public string SuCaicontent_source_url { get; set; }//图文消息的原文链接 public string media_ID { get; set; }//上传至微信服务器后,返回的永久mediaID public string Url { get; set; }//上传至微信服务器后,返回的图片URL,仅图片才会返回此属性 public string uploadDate { get; set; }//上传日期时间 }


第二步:上传图片至微信服务器,成功后将返回的media_id和url两个字段数据和其他字段数据一并保存到本地服务器,上传的代码如下:


 ///  /// 上传图片至微信服务器,并且本地也保存一份 ///  /// 
 protected void LinkBtnSaveYongjiu_Click(object sender, EventArgs e) {  //非空验证  if (String.IsNullOrWhiteSpace(this.txttuwen_title.Value.ToString()))  {  ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请输入图文标题!');", true);  return;  }  if (this.ImgTuWen2.ImageUrl.ToString().Equals(""))  {  ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('必须上传一张图片!');", true);  return;  }  if (String.IsNullOrWhiteSpace(this.tbContent.InnerText.ToString()))  {  ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('请输入正文内容!');", true);  return;  }  //对各项进行赋值  WeiXinServer wxs = new WeiXinServer();  ///从缓存读取accesstoken  string Access_token = Cache["Access_token"] as string;  if (Access_token == null)  {  //如果为空,重新获取  Access_token = wxs.GetAccessToken();  //设置缓存的数据7000秒后过期  Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration);  }  string Access_tokento = Access_token.Substring(17, Access_token.Length - 37);   //根据session判断media_id是否为空,也可根据request.queryString["media_id"]进行判断是否为空  if (Session["sucaimedia_id"] != null)  {  //执行更新操作  //{  // "media_id":MEDIA_ID,  // "index":INDEX,  // "articles": {  // "title": TITLE,  // "thumb_media_id": THUMB_MEDIA_ID,  // "author": AUTHOR,  // "digest": DIGEST,  // "show_cover_pic": SHOW_COVER_PIC(0 / 1),  // "content": CONTENT,  // "content_source_url": CONTENT_SOURCE_URL  // }  //}  string isshow_cover_pic = "";  if (this.CheckFengMianShow.Checked)  {   isshow_cover_pic = "1";  }  else  {   isshow_cover_pic = "0";  }  string description = NoHTML(this.tbContent.InnerText.ToString());  string postData = "{"media_id":"" + Session["sucaimedia_id"].ToString() +   "","index":"0" ,"articles":{"title":"" + this.txttuwen_title.Value.ToString() +   "","thumb_media_id":"" + Session["imgmedia_id"].ToString() +   "","author":"" + this.txttuwen_author.Value.ToString() +  "","digest":"" + this.txtzhaiyao.InnerText.ToString() +  "","show_cover_pic":"" + isshow_cover_pic +  "","content":"" + description +  "","content_source_url":"" + this.txtYuanWenUrl.Text.ToString() +  ""}}";  ///修改永久图文素材  string url = string.Format("https://api.weixin.qq.com/cgi-bin/material/update_news?access_token={0}", Access_tokento);  string jsonres = PostUrl(url, postData);  if (jsonres.Contains("errcode"))  {   //使用前需要引用Newtonsoft.json.dll文件   JObject jsonObj = JObject.Parse(jsonres);   if (jsonObj["errcode"].ToString().Equals("0"))   {   //修改本地数据   //保存数据,方便获取列表的时候直接从本地服务器读取   WxSuCaiInfo wsc = new WxSuCaiInfo();   wsc.SuCaiUrl = Session["fileNameimg"].ToString();//注意,这里保存的图片名称   wsc.SuCaiTitle = this.txttuwen_title.Value.ToString();//图文消息的标题   wsc.SuCaiDigest = this.txtzhaiyao.InnerText.ToString();//图文消息的摘要   wsc.SuCaithumb_media_id = Session["imgmedia_id"].ToString();//图文的消息封面media_id   wsc.SuCaiauthor = this.txttuwen_author.Value.ToString();   wsc.SuCaishow_cover_pic = isshow_cover_pic;   wsc.SuCaicontent = description;   wsc.SuCaicontent_source_url = this.txtYuanWenUrl.Text.ToString();   wsc.uploadDate = System.DateTime.Now.ToString();//记录当前文件保存图文素材日期时间   //修改数据库信息   WxSuCaiService wscs = new WxSuCaiService();   int num = wscs.UpdateWxSuCaiInfo(Session["sucaimedia_id"].ToString(), wsc);   if (num > 0)   {    Session["sucaimedia_id"] = null;    Response.Write("《script》alert('图文素材修改成功!');location='WxSuCaiManageList.aspx';《script》");   }   else   {    Response.Write("《script》alert('图文素材修改失败!');《script》");   }   }  }  }  else  {  //新增图文素材  } }


需注意:新建图文页面和修改图文页面是公用的一个页面.......

编辑提交按钮和保存按钮是公用的一个按钮.....

精彩专题分享:ASP.NET微信开发教程汇总,欢迎大家学习。

以上就是本文的全部内容,希望对大家的学习有所帮助。

以上就是asp.net微信开发中永久素材管理介绍的详细内容,更多请关注php中文网其它相关文章!

工具库

本文由欣才IT学院整理发布,未经许可,禁止转载。
支持4不支持0