乐享知识库接口文档 用于创建/修改知识时,需要先把本地文件上传至腾讯云后,再将腾讯云上的文件位置与知识节点做关联
本页文档主要介绍如何把本地文件上传至腾讯云并获取state的步骤
state参数的使用请参照应用接口中模块接口的说明
请求URL
POST https://lxapi.lexiangla.com/cgi-bin/v1/kb/files/upload-params
请求头
| 参数 | 是否必须 | 说明 |
|---|---|---|
| Content-Type | 是 | 固定值:"application/json; charset=utf-8" |
| Authorization | 是 | 接口调用凭证 access_token 值格式:"Bearer access_token" 示例值:"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJS" |
| x-staff-id | 是 | 成员帐号,作为文件上传者 |
其他说明
| 事项 | 说明 |
|---|---|
| 权限要求 | 本地文件上传 |
请求参数
{
"name": "测试.xlsx",
"media_type": "file"
}
参数说明
| 参数 | 是否必须 | 默认值 | 说明 |
|---|---|---|---|
| name | 是 | 无 | 文件/视频/音频名称(需带拓展名) |
| media_type | 是 | 无 | 获取签名的媒体类型, file/video/audio |
响应
200 OK 状态码
{
"options": {
"Bucket": "lexiang4test-xxxxxxxx",
"Region": "ap-shanghai"
},
"object":{
"key": "company_xxx/2017/06/xx.xlsx",
"state": "f36e6cc7-e8af-45ed-8e83-5cdb2e44b28b",
"upload_url": "https://lexiang4test-xxxxxxxx.cos.ap-shanghai.myqcloud.com/company_xxx/2017/06/xx.xlsx?q-sign-algorithm=sha1&...",
"headers": {
"Content-Type": "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
"Content-Disposition": "attachment; filename=\"测试.xlsx\"; filename*=utf-8''%E6%B5%8B%E8%AF%95.xlsx"
},
"auth": {
"XCosSecurityToken": "be449e692ad8c270abf3dca539ccb511069021ea30001"
}
}
}
腾讯云COS存储提供了用于上传文件到COS存储桶的各类接口。本文使用接口 putObject ,指引用户如何将文件直接上传到腾讯云。
腾讯云官方文档:https://cloud.tencent.com/document/product/436/7749 (opens new window)
请求URL
PUT <object.upload_url>
请求头
必须将第一步响应中的 object.auth.XCosSecurityToken 作为 x-cos-security-token 请求头,并遍历 object.headers,将其中的全部请求头名称和值原样带入上传请求。请求头由服务端根据本次上传动态生成,不能只选择示例中的部分字段,也不能修改字段值,否则可能导致签名校验失败。
请求体中: 待上传文件的二进制流
curl示例
curl --request PUT '<object.upload_url>' \
--header 'x-cos-security-token: xxx' \
--header 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' \
--header "Content-Disposition: attachment; filename=\"测试.xlsx\"; filename*=utf-8''%E6%B5%8B%E8%AF%95.xlsx" \
--data-binary '@/path/to/测试.xlsx'
响应说明
响应正常且响应头中有ETag字段即表示上传成功
使用第一步获取的state到应用接口中继续作为如参使用即可使文件与应用实体产生关联,注意尽快使用避免超时失效