• c# 微信开发 《保存图片生成素材ID》


    只有生成素材ID,图片才能在微信中以图片格式发出去。

    /// <summary>
            /// 获取素材ID
            /// </summary>
            /// <param name="type"></param>
            /// <param name="filepath"></param>
            /// <returns></returns>
            public static string GetMaterial(string type, string filepath)
            {
                string Materialpath = System.AppDomain.CurrentDomain.BaseDirectory + filepath;
                Entity Material = WeixinDA.GetMaterial(Materialpath);
                DateTime Time = Material.GetValue("OverTime").ToDateTime();
                int days = (Time - DateTime.Now).Days; //超时时间和当前时间相比
                if (days > 0)//有效期内
                {
                    return Material.GetValue("MaterialID").TryString();
                }
                else
                {
                    return UpMaterial(type, Materialpath);
                }
            }
    
     /// <summary>
            /// 上传临时素材,获得mediaID
            /// </summary>
            /// <param name="type">  上传的临时多媒体文件。格式和大小限制,如下:
            /// 图片(image): 1M,支持JPG格式
            /// 语音(voice):2M,播放长度不超过60s,支持AMRMP3格式
            /// 视频(video):10MB,支持MP4格式
            /// 缩略图(thumb):64KB,支持JPG格式。
            /// 媒体文件在后台保存时间为3天,即3天后media_id失效。</param>
            /// <param name="filepath"></param>
            /// <returns></returns>
    ///public const string Material_Url = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}";
            public static string UpMaterial(string type, string filepath)
            {
                string accessToken = GetAccsss_token();
                string url = string.Format(Material_Url, accessToken, type);
                WebClient myWebClient = new WebClient();
                string MediaId = "";
                myWebClient.Credentials = CredentialCache.DefaultCredentials;
                try
                {
                    byte[] responseArray = myWebClient.UploadFile(url, "POST", filepath);
                    string result = System.Text.Encoding.Default.GetString(responseArray, 0, responseArray.Length);
                    MediaId = JObject.Parse(result)["media_id"].TryString();
                }
                catch (Exception ex)
                {
                    FileLog.AddLog("素材MaterialError", ex.Message);
                }
                return MediaId;
            }
    

      

  • 相关阅读:
    一致性哈系算法
    进程通信,线程通信,同步方式
    token的作用
    PHP与web 页面交互
    PHP !!
    Vue局部组件和全局组件
    vue父子组件之间的通信
    Spring Cloud 微服务架构学习笔记与示例
    feign中开启熔断的书写步骤
    使用springboot配置和注入数据源属性的方法和步骤
  • 原文地址:https://www.cnblogs.com/yyyuguo/p/8426795.html
Copyright © 2020-2023  润新知