加我微信:Leedege一起交流Delphi开发经验
1、上传多媒体文件(这里以上传图片为例)
uses IdMultipartFormData; const
UpMediaUrl = 'http://file.api.weixin.qq.com/cgi-bin/media/upload?access_token=%s&type=%s';
function UpMedia(HTTP: TIdHTTP; AccessToken, MediaType, MediaFile: String): String; var J: TJSONObject; Url: String; temp: String; FormData: TIdMultiPartFormDataStream; RespData: TStringStream; begin RespData := TStringStream.Create(''); FormData := TIdMultiPartFormDataStream.Create; J := TJSONObject.Create; try FormData.AddFile('media', MediaFile); Url := Format(UpMediaUrl, [AccessToken, MediaType]); HTTP.Post(Url, FormData, RespData); temp := RespData.DataString; HTTP.Request.Referer := Url; J := TJSONObject.ParseJSONValue(temp) as TJSONObject; if J.Count > 0 then Result := J.GetValue('media_id').Value else Result := ''; finally FormData.Free; RespData.Free; J.Free; end; end; //返回媒体文件的media_id备用
2、上传图文消息素材