简介
微信素材分为临时素材和永久素材两种
新增临时素材
公众号经常有需要用到一些临时性的多媒体素材的场景,例如在使用接口特别是发送消息时,对多媒体文件、多媒体消息的获取和调用等操作,是通过media_id来进行的。素材管理接口对所有认证的订阅号和服务号开放。通过本接口,公众号可以新增临时素材(即上传临时多媒体文件)。
注意点:
1、临时素材media_id是可复用的。
2、媒体文件在微信后台保存时间为3天,即3天后media_id失效。
3、上传临时素材的格式、大小限制与公众平台官网一致。
图片(image): 2M,支持PNG\JPEG\JPG\GIF格式
语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
视频(video):10MB,支持MP4格式
缩略图(thumb):64KB,支持JPG格式新增永久素材
对于常用的素材,开发者可通过本接口上传到微信服务器,永久使用。新增的永久素材也可以在公众平台官网素材管理模块中查询管理。
请注意:
1、最近更新:永久图片素材新增后,将带有URL返回给开发者,开发者可以在腾讯系域名内使用(腾讯系域名外使用,图片将被屏蔽)。
2、公众号的素材库保存总数量有上限:图文消息素材、图片素材上限为5000,其他类型为1000。
3、素材的格式大小等要求与公众平台官网一致:
图片(image): 2M,支持bmp/png/jpeg/jpg/gif格式
语音(voice):2M,播放长度不超过60s,mp3/wma/wav/amr格式
视频(video):10MB,支持MP4格式
缩略图(thumb):64KB,支持JPG格式
4、图文消息的具体内容中,微信后台将过滤外部的图片链接,图片url需通过”上传图文消息内的图片获取URL”接口上传图片获取。
5、”上传图文消息内的图片获取URL”接口所上传的图片,不占用公众号的素材库中图片数量的5000个的限制,图片仅支持jpg/png格式,大小必须在1MB以下。
6、图文消息支持正文中插入自己帐号和其他公众号已群发文章链接的能力。
PS:=============请查阅JAVA微信公众号开发第1篇之环境配置与开发接入进行基本微信接入配置============
上传微信素材
使用wxService.mediaUpload(mediaType, fileType, inputStream)方法
/**
* <p>Title: addImgMaterial</p>
* <p>Description: 上传我的二维码(永久)</p>
* @param headurl 头像
* @param wxqr 二维码
* @return
* @throws WxErrorException
* @throws IOException
*/
public WxMediaUploadResult addImgMaterial(String nickname,String openid,String headurl,String wxqr) throws WxErrorException, IOException{
WxMediaUploadResult wxMediaUploadResult=wxService.mediaUpload(WxConsts.MEDIA_IMAGE,WxConsts.FILE_JPG,PictureMerge.getImageStream(PictureMerge.myQr(nickname,openid,headurl, wxqr)));
return wxMediaUploadResult;
}
博主这是通过头像、带参二维码和系统背景图生成用户针对本公众号的专属二维码,具体生成方法请查阅JAVA工具类之多图片合成与图片添加文字博文
总结
本文博主通过引入微信jar的方式,使用封装的方法进行素材上传,详细读者可以查阅微信jar源码,了解详细开发步骤。