微信开发时候有需求需要上传素材,
以接口http://qydev.weixin.qq.com/wiki/index.php?title=%E4%B8%8A%E4%BC%A0%E4%B8%B4%E6%97%B6%E7%B4%A0%E6%9D%90%E6%96%87%E4%BB%B6 为例
感觉文档写得不够详细media这些该怎么处理不是很明确。网上也少有.net资料来处理该业务。
其实可以这样处理:
using (WebClient client = new WebClient())
{
byte[] b = client.UploadFile(string.Format("https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type={1}", token, mt.ToString()), filepath);//调用接口上传文件
retdata = Encoding.Default.GetString(b);//获取返回值
}
另外补充点,临时素材文件:(media_id)会在上传到微信服务器3天后自动删除,以节省服务器资源。而永久素材文件:(media_id)会一直保存在微信服务器上,但是对企业能够保存的永久素材数量有所限制: 整个企业图文消息素材和图片素材数目的上限为5000,其他类型为1000.
如果不注意的话,超出材料上限的话是不能够正常显示的。
如果没有记录media_id 的话这个时候可以另外写程序分别调用
http://qydev.weixin.qq.com/wiki/index.php?title=%E8%8E%B7%E5%8F%96%E7%B4%A0%E6%9D%90%E5%88%97%E8%A1%A8
获取media_id,之后遍历请求
http://qydev.weixin.qq.com/wiki/index.php?title=%E5%88%A0%E9%99%A4%E6%B0%B8%E4%B9%85%E7%B4%A0%E6%9D%90
做删除操作。