注意:您目前查阅的是历史版本 API 文档,已不再更新和维护,我们建议您查阅新版 API 文档。
描述
使用 API 上传 ≤ 20MB 的文件(超过20M 的文件,请使用“分片上传文件” API)。
请求地址中的参数即指明,将名称为 file_name 的文件存储于路径bucket_name/[dir_name] 下,其中,bucket_name 必填,dir_name 可缺省。
前置条件:指定的文件目录已存在。
请求
请求语法
POST /files/v2/<appid>/<bucket_name>[/dir_name]/<file_name> HTTP/1.1
Host: <Region>.file.myqcloud.com
Content-Type: multipart/form-data
Authorization: <multi_effect_signature>
说明:<箭头括号>表示必须替换为有效值的变量,[英文方括号]表示可选的命令或参数。
请求内容
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
op | 是 | String | 操作类型,填 “upload” |
filecontent | 是 | Binary | 文件内容 |
sha | 否 | String | 文件的 SHA-1 校验码 |
biz_attr | 否 | String | 文件属性,业务端维护 |
返回
返回内容
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
code | 是 | Int | 服务端返回码 |
message | 是 | String | 服务端提示内容 |
data | 是 | 数据集合 | 服务器返回的应答数据 |
data 数据集合:
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
access_url | 是 | String | 通过 CDN 访问该文件的资源链接(访问速度更快) |
resource_path | 是 | String | 该文件在 COS 中的相对路径名,可作为其 ID 标识。 格式 /appid/bucket/filename。推荐业务端存储 resource_path,然后根据业务需求灵活拼接资源 url(通过 CDN 访问 COS 资源的 url 和直接访问 COS 资源的 url 不同)。 |
source_url | 是 | String | (不通过 CDN)直接访问 COS 的资源链接 |
url | 是 | String | 操作文件的 url 。业务端可以将该 url 作为请求地址来进一步操作文件,对应 API :文件属性、更新文件、删除文件、移动文件中的请求地址。 |
说明:腾讯云 COS 会默认为每个资源生成经 CDN 的访问链接 access_url,当业务端尚未开通 CDN 时,仍然可以获得该链接,但是无法访问。
示例
请求
POST /files/v2/10055004/accesslog/testfolder/111.txt HTTP/1.1
Host: sh.file.myqcloud.com
Authorization: VKQg5H9I/QMj/tzkk2M3JOljFr9hPTEwMDU1MDA0Jms9QUtJRHpuOHd3S3VYanhpeFFBa1JCQzJEUlhCdFBkN0NybEpRJmU9MTQ3MjY0NjAzOCZ0PTE0NzI2NDU4NTgmcj0xMjUyMDk1MjM5JmY9JmI9YWNjZXNzbG9n
Content-Length: 577
Content-Type: multipart/form-data; boundary=----------------------------aa502a40917c
------------------------------aa502a40917c
Content-Disposition: form-data; name="op"
upload
------------------------------aa502a40917c
Content-Disposition: form-data; name="sha"
1fe86826617c3a32da4f06bccc71a2a718b274c6
------------------------------aa502a40917c
Content-Disposition: form-data; name="biz_attr"
------------------------------aa502a40917c
Content-Disposition: form-data; name="filecontent"; filename="/data/liudg/cos-php-sdk/111.txt"
Content-Type: application/octet-stream
hello, I am 111.txt.
------------------------------aa502a40917c--
返回
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Content-Length: 434
Date: Wed Aug 31 20:17:38 2016
Server: tencent-cos
{
"code": 0,
"message": "SUCCESS",
"data": {
"access_url": "http://accesslog-10055004.file.myqcloud.com/testfolder/111.txt",
"preview_url": "http://accesslog-10055004.preview.myqcloud.com/testfolder/111.txt?cmd=txt_preview",
"resource_path": "/10055004/accesslog/testfolder/111.txt",
"source_url": "http://accesslog-10055004.cossh.myqcloud.com/testfolder/111.txt",
"url": "http://sh.file.myqcloud.com/files/v2/10055004/accesslog/testfolder/111.txt"
}
}