/// <summary> /// 【异步方法】新增永久视频素材 /// </summary> /// <param name="accessTokenOrAppId">AccessToken或AppId(推荐使用AppId,需要先注册)</param> /// <param name="type">媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)</param> /// <param name="file">文件路径</param> /// <param name="title"></param> /// <param name="introduction"></param> /// <param name="timeOut">代理请求超时时间(毫秒)</param> /// <returns></returns> public static async Task <UploadForeverMediaResult> UploadForeverVideoAsync(string accessTokenOrAppId, string file, string title, string introduction, UploadForeverMediaType type = UploadForeverMediaType.video, int timeOut = 40000) { return(await ApiHandlerWapper.TryCommonApiAsync(async accessToken => { var url = string.Format(Config.ApiMpHost + "/cgi-bin/material/add_material?access_token={0}&type=" + type, accessToken.AsUrlData()); var fileDictionary = new Dictionary <string, string>(); fileDictionary["media"] = file; fileDictionary["description"] = string.Format("{{\"title\":\"{0}\", \"introduction\":\"{1}\"}}", title, introduction); return await CO2NET.HttpUtility.Post.PostFileGetJsonAsync <UploadForeverMediaResult>(CommonDI.CommonSP, url, null, fileDictionary, null, timeOut: timeOut).ConfigureAwait(false); }, accessTokenOrAppId).ConfigureAwait(false)); }
/// <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 async Task <UploadForeverMediaResult> UploadForeverMediaAsync(string accessTokenOrAppId, string file, UploadForeverMediaType type, int timeOut = Config.TIME_OUT) { return(await ApiHandlerWapper.TryCommonApiAsync(async accessToken => { var url = string.Format(Config.ApiMpHost + "/cgi-bin/material/add_material?access_token={0}&type={1}", accessToken.AsUrlData(), type); //因为有文件上传,所以忽略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 await CO2NET.HttpUtility.Post.PostFileGetJsonAsync <UploadForeverMediaResult>(CommonDI.CommonSP, url, null, fileDictionary, null, timeOut: timeOut).ConfigureAwait(false); }, accessTokenOrAppId)); }