素材管理接口的应用

给微信素材接口上传临时文件

支持上传的类型图片 音频 视频

通过form表单提交到微信接口

https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE

其中access_token 需要我们自己获取

type 则可以如下几个值:媒体文件类型,分别有图片(image)、语音(voice)、视频(video)和缩略图(thumb)

正确时候返回:

{“type”:”TYPE”,”media_id”:”MEDIA_ID”,”created_at”:123456789}

失败返回:{“errcode”:40004,”errmsg”:”invalid media type”}

上传的临时多媒体文件有格式和大小限制,如下:

  • 图片(image):2M,支持PNG\JPEG\JPG\GIF格式
  • 语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
  • 视频(video):10MB,支持MP4格式
  • 缩略图(thumb):64KB,支持JPG格式

实现我们新增一个aspx页面

<form id="form1" runat="server" method="post">
    <div>
        <asp:DropDownList ID="DropDownList1" runat="server">
            <asp:ListItem Text="图片" Value="image"></asp:ListItem>
            <asp:ListItem Text="语音" Value="voice"></asp:ListItem>
            <asp:ListItem Text="视频" Value="video"></asp:ListItem>
            <asp:ListItem Text="缩略图" Value="thumb"></asp:ListItem>
        </asp:DropDownList><br />
        <asp:FileUpload ID="FileUpload1" runat="server" /><br />
        <input type="submit" name="提交" />
    </div>
</form>Code language: HTML, XML (xml)

后台cs代码

private const string urlFormat = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={0}&secret={1}";
private const string urlFormatForUp = "https://api.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}";

protected void Page_Load(object sender, EventArgs e)
{
    Access_token_info obj = GetTokenInfo();
    this.form1.Action = string.Format(urlFormatForUp, obj.access_token, this.DropDownList1.SelectedValue);
}

private Access_token_info GetTokenInfo()
{
    string url = string.Format(urlFormat, appID, appSecret);
    string json = Tool.HttpGet(url);
    Access_token_info obj = Tool.DeserializeJson<Access_token_info>(json);
    return obj;
}Code language: PHP (php)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注