本接口用于指定上传文件信息,并获取文件上传地址和凭证。成功获取到上传地址和凭证后,使用公网域名上传您指定的文件二进制数据,对返回的上传地址发起 PUT 请求上传文件。(可选操作:通过调用 CommitImageUpload 接口,确认文件上传并获取上报上传结果。)
推荐您使用服务端 SDK 进行文件上传,具体上传流程请参考服务端上传。
说明
强烈不建议您依赖 CommitImageUpload 返回的图片 meta 信息,有获取 meta 需求推荐在上传完成后拼接~info
模板获取图片 meta 信息。原因请见为什么不建议依赖 Commit 阶段返回的图片 meta 信息?
下表仅列出该接口特有的请求参数和部分公共参数。更多信息请见公共请求参数。
参数 | 类型 | 是否必选 | 示例值 | 描述 |
---|---|---|---|---|
Action | String | 是 | ApplyImageUpload | 接口名称。当前 API 的名称为 ApplyImageUpload 。 |
Version | String | 是 | 2018-08-01 | 接口版本。当前 API 的版本为 2018-08-01 。 |
ServiceId | String | 是 |
| 服务 ID。 |
SessionKey | String | 否 |
| 一次上传会话 Key。 说明 本接口上一次请求的 |
UploadNum | Integer | 否 | 1 | 上传文件的数量,将决定下发的 StoreUri 的数量,取值范围为[1,10],默认为 1。 |
StoreKeys | Array of String | 否 |
| 上传文件的存储 Key。默认使用随机生成的字符串作为存储 Key。
|
Prefix | String | 否 |
| 指定的上传文件路径。
说明 仅当未指定 |
FileExtension | String | 否 |
| 文件扩展名(如:.java, .txt, .go 等),最大长度限制为 8 个字节。 说明 仅当未指定 |
Overwrite | Boolean | 否 |
| 是否开启重名文件覆盖上传,取值如下所示:
注意 在指定 |
下表仅列出本接口特有的返回参数。更多信息请见公共返回参数。
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
UploadAddress | Object of UploadAddress | 上传地址 | |
RequestId | String | 20221110162951010212162157127244C2 | 请求的唯一标识 ID。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
StoreInfos | Array of StoreInfos |
| 上传 Uri 说明 数量由请求参数中的 |
UploadHosts | Array of String | tos.test.com | 上传域名列表,可以用于客户端容灾,并行上传等。 |
SessionKey | String |
| 一次上传会话 Key。 |
参数 | 类型 | 示例值 | 描述 |
---|---|---|---|
StoreUri | String | tos-cn-i-mm**w2/31**a6.png | 资源 ID。 |
Auth | String | 6F**JL:-fU**zI=:Mz**5n | 上传凭证。 |
GET https://imagex.volcengineapi.com/?Action=ApplyImageUpload&Version=2018-08-01&ServiceId=WMK**UXe&StoreKeys=312**ea6.png
{ "ResponseMetadata": { "RequestId": "202307241740314A9411E1E466F1684AB7", "Action": "ApplyImageUpload", "Version": "2018-08-01", "Service": "imagex", "Region": "cn-north-1" }, "Result": { "UploadAddress": { "StoreInfos": [ { "StoreUri": "tos-i-mm**w2/31**a6.png", "Auth": "6F**JL:-fU**zI=:Mz**5n" } ], "UploadHosts": [ "upload-test.net" ], "SessionKey": "eyJh**In0=" }, "RequestId": "202307241740314A9411E1E466F1684AB7", "SDKParam": null } }
本接口无特有的错误码。更多信息请见公共错误码。
为了方便您快速开发,veImageX 提供了配套的服务端 SDK,同时支持多种编程语言。建议您使用服务端 SDK 来调用 API,参考文档如下所示: