更新时间:2025-08-18 15:31:55
普通上传接口提供了将资源文件上传到对象存储平台指定bucket的功能。如果文件大小大于500MB,必须使用分片上传。普通上传还支持通过HTML表单进行上传。
注意:
- 分片上传建议的文件大小因环境而异。请参考相关SDK中提供的建议值。
- 对象存储提供的上传域名是普通域名。
上传请求以 HTTP multipart/form-data 格式组织提交。示例如下:
POST /file/upload HTTP/1.1
Host: <UploadDomain>
Accept: */*
Content-Type: multipart/form-data; boundary=<boundary>
Content-Length: <multipartContentLength>
--<boundary>
Content-Disposition: form-data; name="token"
<uploadToken>
--<boundary>
Content-Disposition: form-data; name="<x:VariableName>"
<x:VariableValue>
--<boundary>
Content-Disposition: form-data; name="key"
<key>
--<boundary>
Content-Disposition: form-data; name="mimeType"
<mimeType>
--<boundary>
Content-Disposition: form-data; name="deadline"
<deadline>
--<boundary>
Content-Disposition: form-data; name="file"; filename="original file name"
Content-Type: application/octet-stream
<fileBinaryData>
--<boundary>--
| Header 名称 | 是否必需 | 描述 |
|---|---|---|
| Host | 是 | 上传域名,可在控制台空间概览界面获取。 |
| Accept | 是 | 接受的类型,固定为*/*。 |
| Content-Type | 是 | 内容类型,固定为multipart/form-data。<boundary> 是Multipart分隔符。 |
| Content-Length | 是 | 内容总长度,单位:字节。 |
| 参数 | 是否必需 | 描述 |
|---|---|---|
| <token> | 是 | 上传凭证 |
| <x:VariableName> | 否 | 自定义变量的名称。 |
| <x:VariableValue> | 否 | 自定义变量的值。 |
| <key> | 否 | 自定义文件名 |
| <mimeType> | 否 | 自定义文件的MIME-Type。 |
| <deadline> | 否 | 文件存储期限。超过存储天数的文件将自动删除,单位:天。例如:1, 2, 3... 注意:0表示尽快删除。不建议在文件上传时配置0 |
| <file> | 是 | 文件信息,如未指定文件名,会读取文件的fileName作为文件名。 |
| <fileBinaryData> | 是 | 文件的二进制数据。 |
HTTP/1.1 200 OK
Server: WS-web-server
<ResponseContent>
如果请求成功,
hash=<filehash>
核心字段说明:
| 字段名称 | 是否必需 | 描述 |
|---|---|---|
| <filehash> | 是 | 文件的哈希值。 |
注意:如果在上传时定义了returnBody,returnBody的内容将被添加到返回内容中,例如 name=
&size= hash= 。此时 hash 字段会集成在 returnBody的返回值中。
请求失败时,
{
"code": "<code string>",
"message": "<message string>"
}
错误字段说明:
| 字段名称 | 是否必需 | 描述 |
|---|---|---|
| code | 是 | HTTP响应状态代码 |
| message | 是 | 提示消息。 |
curl -v -i -X POST -H "Expect:" -F file=@D:/8.png -F key=m.png -F token="6a69ab4062cb03059e4c13a0f5e662523effad49:ZGE1MWY1YzA4ZDgyMjVlM2Q3MmE2YjZkZDI3MmY1ZmMxNjk2YTFjOA==:eyJzY29wZSI6InRlc3QiLCJkZWFkbGluZSI6IjE0NzIxNzY2MzQwMDAiLCJvdmVyd3JpdGUiOjAsImZzaXplTGltaXQiOjAsImluc3RhbnQiOjAsInNlcGFyYXRlIjowfQ==" --url 'http://updomain.com/file/upload'