上传文件
当审批表单中有图片或者附件控件时,开发者需要在调用创建审批实例前,将传入图片或附件控件的文件通过本接口上传到审批系统,接口会返回文件的 code,该 code 用于创建审批实例时为图片或附件控件赋值。
例如,以下是创建审批实例时,图片控件值示例,其中的 value 为本接口返回的图片 code。
json
{
"id":"widget1",
"type":"image",
"value": ["D93653C3-2609-4EE0-8041-61DC1D84F0B5"]
}使用限制
- 每次只能上传一个文件,如有多个文件,请分多次上传。文件类型 image(图片) 或 attachment(附件)取决于审批定义表单控件中的具体类型,请按定义使用。
- 附件上传大小限制为 50 M,图片上传大小为 10 M。
请求
| 项目 | 值 |
|---|---|
| HTTP URL | https://www.feishu.cn/approval/openapi/v2/file/upload |
| HTTP Method | POST |
| 支持的应用类型 | custom,isv |
| 权限要求 调用该 API 所需的权限。开启其中任意一项权限即可调用 | approval:approval:readonly 访问审批应用 |
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | string | 是 | tenant_access_token 以应用身份调用 API,可读写的数据范围由应用自身的 数据权限范围 决定。参考 自建应用获取 tenant_access_token 或 商店应用获取 tenant_access_token。 值格式:"Bearer access_token" 示例值:"Bearer t-7f1bcd13fc57d46bac21793a18e123" 了解更多:如何选择与获取 access token |
| Content-Type | string | 是 | 固定值:"multipart/form-data" |
请求体
| 名称 | 类型 | 是否必须 | 说明 |
|---|---|---|---|
| name | string | 是 | 文件名,需包含文件扩展名。例如 文件.doc |
| type | string | 是 | 文件类型。取值 image(图片)或 attachment(附件) |
| content | file | 是 | 文件 |
请求体示例
json
{
"name":"123.doc",
"type":"attachment",
"content":123.doc
}SDK 调用示例
使用服务端 SDK 时,需要以原生模式调用该接口,以 Java SDK 为例,调用接口的示例代码如下所示。
java
public void uploadApprovalFile() {
File file = new File("1.txt");
FormData formData = new FormData();
formData.addField("name", file.getName());
formData.addField("type", "attachment");
formData.addFile("content", file);
RawResponse rawResponse = client.post("https://www.feishu.cn/approval/openapi/v2/file/upload", formData, AccessTokenType.Tenant);
}各开发语言 SDK 内原生模式使用说明,参考:
响应
响应体
| 参数 | 类型 | 说明 |
|---|---|---|
| code | int | 错误码,非 0 表示失败 |
| msg | string | 返回码的描述 |
| data | map | 返回业务信息 |
| ∟code | string | 文件标识码。用于创建审批实例时,传入图片控件或附件控件的 value 参数。 |
| ∟url | string | 文件 url |
Note注意:返回的 url 有效期为 12 小时。发起审批后,每次获取审批详情都会获得新的 url。如果 url 打不开,请检查 url 的参数中是否包含
\\u0026,因&被转义成了\\u0026,只需要将\\u0026替换成&符号即可打开。
响应体示例
json
{
"code":0,
"msg":"success",
"data": {
"code": "D93653C3-2609-4EE0-8041-61DC1D84F0B5",
"url": "https://example.com/lark-approval-attachment/image/20210819/a8c1a1f1-47ae-4147-9deb-a8bf2c1234.jpg~image.image?x-expires=1634941234&x-signature=1234Tfv50ryUesNwKTUTnBlJivY%3D#.jpg"
}
}错误码信息,参见通用错误码。
