本接口应在服务器端调用,详细说明参见服务端API。
本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载)
wx-server-sdk >= 0.4.0
把媒体文件上传到微信服务器。目前仅支持图片。用于发送客服消息或被动回复用户消息。
调用方式:
POST https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
access_token | string | 是 | 接口调用凭证 | |
type | string | 是 | 文件类型 | |
media | FormData | 是 | form-data 中媒体文件标识,有filename、filelength、content-type等信息 |
type 的合法值
值 | 说明 | 最低版本 |
---|---|---|
image | 图片 |
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errcode | number | 错误码 |
errmsg | string | 错误信息 |
type | string | 文件类型 |
media_id | string | 媒体文件上传后,获取标识,3天内有效。 |
created_at | number | 媒体文件上传时间戳 |
errcode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
40004 | 无效媒体文件类型 |
type 的合法值
值 | 说明 | 最低版本 |
---|---|---|
image | 图片 |
使用 CURL 命令,用 FORM 表单方式上传一个多媒体文件
curl -F media=@test.jpg "https://api.weixin.qq.com/cgi-bin/media/upload?access_token=ACCESS_TOKEN&type=TYPE"
{
"errcode": 0,
"errmsg": "ok",
"type": "image",
"media_id": "MEDIA_ID",
"created_at": "xxx"
}
云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。
openapi.customerServiceMessage.uploadTempMedia
需在 config.json 中配置 customerServiceMessage.uploadTempMedia API 的权限,详情
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
type | string | 是 | 文件类型 | |
media | FormData | 是 | 媒体文件数据 |
type 的合法值
值 | 说明 | 最低版本 |
---|---|---|
image | 图片 |
media 的结构
属性 | 类型 | 默认值 | 必填 | 说明 |
---|---|---|---|---|
contentType | string | 是 | 数据类型,传入 MIME Type | |
value | Buffer | 是 | 文件 Buffer |
返回的 JSON 数据包
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
type | string | 文件类型 |
mediaId | string | 媒体文件上传后,获取标识,3天内有效。 |
createdAt | number | 媒体文件上传时间戳 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
0 | 成功 |
type 的合法值
值 | 说明 | 最低版本 |
---|---|---|
image | 图片 |
抛出的异常
属性 | 类型 | 说明 |
---|---|---|
errCode | number | 错误码 |
errMsg | string | 错误信息 |
errCode 的合法值
值 | 说明 | 最低版本 |
---|---|---|
40004 | 无效媒体文件类型 |
{
"errCode": 0,
"errMsg": "openapi.customerServiceMessage.uploadTempMedia:ok",
"type": "image",
"mediaId": "MEDIA_ID",
"createdAt": "xxx"
}
// cloud = require('wx-server-sdk')
// ...
// 方法返回 Promise
cloud.openapi.customerServiceMessage.uploadTempMedia({
type: 'image',
media: {
contentType: 'image/png',
value: Buffer
}
})
(c) 2024 chaojicainiao.com MIT license