用于创建/修改知识时,需要先把本地文件上传至腾讯云后,再将腾讯云上的文件位置与知识节点做关联
本页文档主要介绍如何把本地文件上传至腾讯云并获取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 |
响应
201 Created 状态码
{
"options": {
"Bucket": "lexiang4test-xxxxxxxx",
"Region": "ap-shanghai"
},
"object":{
"key": "company_xxx/2017/06/xx.json",
"state": "f36e6cc7-e8af-45ed-8e83-5cdb2e44b28b",
"headers": {
"Content-Type": "application/octet-stream",
"Content-Disposition": "attachment; filename=xx.json"
},
"auth": {
"Authorization": "q-sign-algorithm=sha1&q-ak=xxxxxxxxxx",
"XCosSecurityToken": "be449e692ad8c270abf3dca539ccb511069021ea30001"
}
}
}
腾讯云COS存储提供了用于上传文件到COS存储桶的各类接口。本文使用接口 putObject ,指引用户如何将文件直接上传到腾讯云。
腾讯云官方文档:https://cloud.tencent.com/document/product/436/7749 (opens new window)
请求URL
PUT http://<bucket>.cos.<region>.myqcloud.com/<key>
参数说明
请求URL中:
参数名 | 是否必须 | 字段说明 | 备注 |
---|---|---|---|
bucket | 是 | 见第一部分响应参数中的object.options.bucket | |
region | 是 | 见第一部分响应参数中的object.options.region | |
key | 是 | 见第一部分响应参数中的object.key |
示例:http://lexiang-10029162.cos.ap-shanghai.myqcloud.com/company_xx/files/2017/06/3c73103c-d053-11e8-b6ce-5254009b5a66.jpg
请求头中:
参数名 | 是否必须 | 字段说明 | 备注 |
---|---|---|---|
Authorization | 是 | 见第一部分响应参数中的objects.auth.Authorization | |
x-cos-security-token | 是 | 见第一部分响应参数中的objects.auth.XCosSecurityToken | |
Content-Disposition | 否 | 文件下载显示,见第一部分响应参数中的objects.headers.Content-Disposition |
请求体中: 待上传文件的二进制流
curl示例
curl --request PUT 'http://lexiang-10029162.cos.ap-shanghai.myqcloud.com/company_xxx/files/2017/06/xx.json' \
--header 'Authorization: q-sign-algorithm=sha1&q-ak=xxx' \
--header 'x-cos-security-token: xxx' \
--header 'Content-Disposition: attachment; filename=xx.json' \
--data-binary '/xx.json'
响应说明
响应正常且响应头中有ETag字段即表示上传成功
使用第一步获取的state
到应用接口中继续作为如参使用即可使文件与应用实体产生关联,注意尽快使用避免超时失效