管理临时素材

临时素材上传到微信服务器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


本页地址:http://www.foxtable.com/mobilehelp/topics/0242.htm