Example #1
0
        /// <summary>
        /// 新增其他类型永久素材(图片(image)、语音(voice)和缩略图(thumb))
        /// </summary>
        /// <param name="accessTokenOrAppId">AccessToken或AppId(推荐使用AppId,需要先注册)</param>
        /// <param name="file">上传文件的绝对路径</param>
        /// <param name="type">媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)</param>
        /// <param name="timeOut">代理请求超时时间(毫秒)</param>
        /// <returns></returns>
        public static UploadForeverMediaResult UploadForeverMedia(string accessTokenOrAppId, string file, UploadForeverMediaType type, int timeOut = Config.TIME_OUT)
        {
            return(ApiHandlerWapper.TryCommonApi(accessToken =>
            {
                var url = string.Format(Config.ApiMpHost + "/cgi-bin/material/add_material?access_token={0}&type={1}", accessToken.AsUrlData(), type.ToString());

                //因为有文件上传,所以忽略dataDictionary,全部改用文件上传格式
                //var dataDictionary = new Dictionary<string, string>();
                //dataDictionary["type"] = UploadMediaFileType.image.ToString();

                var fileDictionary = new Dictionary <string, string>();
                //fileDictionary["type"] = UploadMediaFileType.image.ToString();//不提供此参数也可以上传成功
                fileDictionary["media"] = file;
                return CO2NET.HttpUtility.Post.PostFileGetJson <UploadForeverMediaResult>(CommonDI.CommonSP, url, null, fileDictionary, null, timeOut: timeOut);
            }, accessTokenOrAppId));
        }