管理临时素材
临时素材上传到微信服务器3天后会被自动删除。
上传临时素材
例如上传一个临时图片素材,参考代码为:
Dim
ul As
String =
"https://qyapi.weixin.qq.com/cgi-bin/media/upload?access_token={0}&type=image"
Dim
hc As
new HttpClient(CExp(ul,Functions.Execute("GetQYAccessToken")))
hc.Files.Add("media","c:\data\qrcode.jpg")
Dim
jo As
JObject = JObject.Parse(hc.GetData)
If
jo("media_id")
IsNot Nothing
Then
Dim dr
As DataRow
= DataTables("Materials").AddNew()
dr("type")
= "临时图片"
dr("MediaID")
= jo("media_id")
dr("FileName")
= "qrcode.jpg"
dr("UpdateTime")
= Date.Now
Else
MessageBox.Show(jo.ToString)
End
If
上传语音(voice)、视频(video)和普通文件(file)等临时素材的代码和以上代码基本一样,只需将第一行代码的type参数(绿色加粗部分)相应地改为voice、video或file即可。
下载临时素材
下载临时素材的代码参考:
Dim
ul As
String =
"https://qyapi.weixin.qq.com/cgi-bin/media/get?access_token={0}&media_id={1}"
Dim
mediaID As
String =
"1GDEyyL7RIo868rKmIf3ThZoCMkd69VvH3wPBMpQj9w3uq7dmdxlbNjh669KPLyhF7EEOpBszls7BSmgMFgn07A"
'要获取素材的ID
Dim
hc As
new HttpClient(CExp(ul,Functions.Execute("GetQYAccessToken"),mediaID))
Dim
fl As
String =
"c:\data\abc.jpg" '要保存为的本地文件
If
hc.GetFile(fl)
Then
If hc.ResponseContentType.StartsWith("application/json")
Then
MessageBox.Show(Filesys.ReadAllText(fl))
FileSys.DeleteFile(fl)
'删除文件
Else
MessageBox.Show("图片素材下载成功!")
End
If
Else
MessageBox.Show("图片素材下载失败!")
End
If