/// <summary> /// 上传图片文件 /// </summary> /// <returns>仅url有效</returns> public static PubMediaResult UploadImg(string filePath) { var url = string.Format(UPLOAD_IMG_URL, PubInterface.AccessToken); var content = PubInterface.BuildFromContent(Path.GetFileName(filePath), File.OpenRead(filePath)); return(WebApiHelper.PostHttpContent <PubMediaResult>(url, content)); }
/// <summary> /// 新增临时素材 /// </summary> /// <param name="file">文件流</param> /// <param name="fileName">文件名称</param> /// <param name="type">媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)</param> /// <returns></returns> public static PubMediaResult AddMedia(string fileName, Stream file, PubMediaType type) { var url = string.Format(ADD_MEDIA_URL, PubInterface.AccessToken, type.ToString()); var content = PubInterface.BuildFromContent(fileName, file); var res = WebApiHelper.PostHttpContent <PubMediaResult>(url, content); return(res); }
/// <summary> /// 设置客服头像 post 图片 /// </summary> public static PubApiResult SetKFHeadImg(string filePath, string kfAccount) { var url = string.Format(KF_SET_HEAD_URL, PubInterface.AccessToken, kfAccount); MultipartFormDataContent content = PubInterface.BuildFromContent(filePath); using (var client = new HttpClient()) { var postReq = client.PostAsync(url, content).Result; var postResp = postReq.Content.ReadAsStringAsync().Result; var res = SerializeHelper.JsonDeserialize <PubApiResult>(postResp); return(res); } }
/// <summary> /// 新增永久素材 /// </summary> /// <param name="type"></param> /// <param name="fileName"></param> /// <param name="file"></param> /// <param name="title">视频时有效</param> /// <param name="introduction">视频时有效</param> /// <returns></returns> public static PubMediaResult AddMaterial(PubMediaType type, Stream file, string fileName, string title, string introduction) { MultipartFormDataContent form = new MultipartFormDataContent(); form.Headers.ContentType = new MediaTypeHeaderValue("multipart/form-data");//重要,一定要标明 if (type == PubMediaType.video) { var video = "{\"title\":\"" + title + "\", \"introduction\":\"" + introduction + "\"}"; var videoContent = new StringContent(video); videoContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("form-data") { Name = "\"description\"", }; form.Add(videoContent); } form.Add(PubInterface.BuildStreamContent(fileName, file)); var url = string.Format(ADD_MATERIAL_URL, PubInterface.AccessToken, type.ToString()); var res = WebApiHelper.PostHttpContent <PubMediaResult>(url, form); return(res); }