# 上传资料
接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南
接口英文名:uploadec
可通过该接口上传文件,用于下单后传给商家进行定制商品发货
# 1. 调用方式
# HTTPS 调用
POST https://api.weixin.qq.com/channels/ec/open/upload?access_token=ACCESS_TOKEN&upload_type=UPLOAD_TYPE&openid=OPENID
# 云调用
- 本接口不支持云调用
# 第三方调用
本接口支持第三方平台代微信小店商家调用。第三方服务商调用模式介绍
该接口所属的权限集 id 为:180
服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代微信小店商家进行调用,具体可查看 第三方调用 说明文档。
# 2. 请求参数
# 查询参数 Query String parameters
| 参数名 | 类型 | 必填 | 示例 | 说明 | 枚举 |
|---|---|---|---|---|---|
| access_token | string | 是 | ACCESS_TOKEN | 接口调用凭证,可使用 access_token(微信小店商家)、authorizer_access_token(服务商代调用) | - |
| upload_type | number | 是 | 上传方式 | 枚举值 | |
| openid | string | 是 | 上传资料的用户openid(upload_type=0时必填) | - |
# 请求体 Request Payload
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| openid | string | 是 | 上传资料的用户openid(upload_type=1时必填) |
| file_url | string | 否 | 上传文件的url,支持图片、CAD、3dMax、压缩包、PDF,Excel、Word等 upload_type=1时必填,支持<50M大小的文件 |
| file | buffer | 否 | 上传的资料文件内容,支持图片、CAD、3dMax、压缩包、PDF、Excel、Word等 upload_type=0时必填,支持<10M大小的文件 |
# 3. 返回参数
# 返回体 Response Payload
| 参数名 | 类型 | 说明 |
|---|---|---|
| errcode | number | 错误码 |
| errmsg | string | 错误信息 |
| media_id | string | 文件media_id |
# 4. 枚举信息
# Query.upload_type Enum
上传方式
| 枚举值 | 描述 |
|---|---|
| 0 | 上传文件二进制 |
| 1 | 文件url上传 |
# 5. 注意事项
- 文件最大支持50M
- 添加HTTP头Content-Type: multipart/form-data
# 支持上传的文件格式:
| 类型 | 格式 | Content-Type |
|---|---|---|
| 图片 | .bmp | image/bmp |
| 图片 | .jpg | image/jpeg,image/jpg |
| 图片 | .jpeg | image/jpeg,image/jpg |
| 图片 | .png | image/png,application/x-png |
| 图片 | .svg | text/xml |
| 图片 | .webp | image/webp |
| CAD | .dwg | application/acad |
| CAD | .dxf | application/dxf |
| CAD | .dgn | image/vnd.dgn |
| CAD | .stl | model/stl,application/sla |
| 3DMax | .max | application/octet-stream |
| 3DMax | .3d | application/octet-stream |
| 3DMax | .fbx | application/octet-stream |
| 3DMax | .abc | application/octet-stream |
| 3DMax | .dae | application/octet-stream |
| 压缩包 | .zip | application/zip |
| 压缩包 | .rar | application/x-rar-compressed |
| 压缩包 | .7z | application/x-7z-compressed |
| 压缩包 | .gz | application/gzip,application/x-gzip |
| 普通文件 | .docx | application/vnd.openxmlformats-officedocument.wordprocessingml.documen |
| 普通文件 | .doc | application/msword |
| 普通文件 | .xls | application/vnd.ms-excel |
| 普通文件 | .xlsx | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| 普通文件 | .csv | text/csv |
| 普通文件 | application/pdf |
注:压缩包中只能包含支持的文件类型
# 6. 代码示例
# 5.1 上传文件二进制
请求示例
curl -F file=@test.png
"https://api.weixin.qq.com/channels/ec/open/upload?access_token=ACCESS_TOKEN&openid=xxxx&upload_type=0"
返回示例
{
"errcode": 0,
"errmsg": "",
"media_id": ""
}
# 5.2 以文件url上传
请求示例
curl -X POSt -d'{"openid":"xxx","file_url":"xxx"}'
"https://api.weixin.qq.com/channels/ec/open/upload?access_token=ACCESS_TOKEN&upload_type=1"
返回示例
{
"errcode": 0,
"errmsg": "",
"media_id": ""
}
# 7. 错误码
以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。
| 错误码 | 错误描述 |
|---|---|
| -1 | 系统失败,请重试 |
| 0 | 成功 |
| 10001 | 无效的mediaid |
| 10002 | 无效的mediaid |
| 10003 | 文件正在上传中,请等待 |
| 10004 | 上传文件存在风险,请重新上传 |
| 10005 | 订单已取消,禁止下载文件 |
| 10006 | 订单已结束,禁止下载文件 |
| 10007 | 上传文件格式不支持 |
| 10008 | 上传文件的大小超过最大值 |
| 10009 | 下载文件次数超过日上限,请第二天再试 |
| 10010 | 上传url(file_url)无效,无法下载文件 |
# 8. 适用范围
本接口支持「小程序」账号类型调用。其他账号类型如无特殊说明,均不可调用。