描述
本接口用于在一次 HTTP 会话中上传单一的一个文件。
请求
请求报文的内容以multipart/form-data格式组织:
POST / HTTP/1.1
Host: <UpHost>
Content-Type: multipart/form-data; boundary=<frontier>
Content-Length: <multipartContentLength>
--<frontier>
Content-Disposition: form-data; name="key"
<resource_key>
--<frontier>
Content-Disposition: form-data; name="x:<custom_name>"
<custom_value>
--<frontier>
Content-Disposition: form-data; name="token"
<upload_token>
--<frontier>
Content-Disposition: form-data; name="crc32"
<crc32>
--<frontier>
Content-Disposition: form-data; name="x-qn-meta-<metaKey>"
<metaValue>
--<frontier>
Content-Disposition: form-data; name="accept"
<acceptContentType>
--<frontier>
Content-Disposition: form-data; name="file"; filename="<fileName>"
Content-Type: <contentType>
Content-Transfer-Encoding: binary
<fileBinaryData>
--<frontier>--
该请求操作的实现使用了所有操作的公共请求头。
参数名称 | 必填 | 说明 |
---|
resource_key | 否 | 资源名,必须是UTF-8编码。如果上传凭证中 scope 指定为<bucket>:<key> , 则该字段也必须指定,并且与上传凭证中的 key 一致,否则会报403错误。如果表单没有指定 key,可以使用上传策略saveKey字段所指定魔法变量生成 Key,如果没有模板,则使用 Hash 值作为 Key。 |
custom_name | 否 | 自定义变量的名字,不限个数。 |
custom_value | 否 | 自定义变量的值 |
upload_token | 是 | 上传凭证,位于 token 消息中。 |
crc32 | 否 | 上传内容的 CRC32 校验码。如果指定此值,则七牛服务器会使用此值进行内容检验。 |
accept | 否 | 当 HTTP 请求指定 accept 头部时,会返回 Content-Type 头部值。该值用于兼容低版本 IE 浏览器行为。低版本 IE 浏览器在表单上传时,返回 application/json 表示下载,返回 text/plain 才会显示返回内容。 |
fileName | 否 | 原文件名。对于没有文件名的情况,建议填入随机生成的纯文本字符串。 |
fileBinaryData | 是 | 上传文件的完整内容。 |
x-qn-meta | 否 | 自定义元数据,可同时自定义多个元数据。 |
响应
该请求操作的实现使用了所有操作的公共响应头。
名称 | 说明 |
---|
hash | 目标资源的hash值,可用于 ETag 头部。 类型:字符串 |
key | 目标资源的最终名字,可由七牛云存储自动命名。 类型:字符串 |