# 上传镜像（OpenStack原生v2--已废弃，不推荐使用）
#### 功能介绍
该接口用于上传用户本地的镜像文件到云平台。使用该接口上传镜像时，镜像文件大小需要小于2GB，超过2GB的镜像文件参考[注册镜像 - RegisterImage](https://support.huaweicloud.com/api-ims/ims_03_0608.html)进行操作。
了解更多关于使用外部文件创建镜像的相关内容，请参见"[通过外部镜像文件创建系统盘镜像](https://support.huaweicloud.com/usermanual-ims/ims_01_0203.html)"。
使用该接口上传镜像的具体步骤如下：
1. 准备待上传的镜像，支持的镜像格式：QCOW2、VMDK、VHD、RAW、VHDX、QED、VDI、QCOW、ZVHD2和ZVHD。
2. 使用[创建镜像元数据（OpenStack原生） - GlanceCreateImageMetadata](https://support.huaweicloud.com/api-ims/ims_03_0707.html)创建镜像元数据。调用成功后，保存该镜像的ID。
3. 使用[2]得到的镜像ID，上传支持格式的镜像文件。
当前接口已废弃，推荐使用[制作镜像 - CreateImage](https://support.huaweicloud.com/api-ims/ims_03_0603.html)。
#### URI
PUT /v2/images/{image_id}/file
参数说明请参见[表1]。
 表1参数说明 
| 参数        | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| image_id | 是    | String | 镜像ID。 - image_id为用户调用创建镜像元数据接口所创建出来镜像的id，使用其他方式创建的镜像id会导致上传失败。  - 上传接口调用成功后，请根据镜像id查询镜像的状态。镜像状态变为active表示镜像上传成功。   |
   
![](https://support.huaweicloud.com/api-ims/public_sys-resources/note_3.0-zh-cn.png)
- AK/SK签名认证方式仅支持消息体大小在12MB以内，12MB以上的请求请使用Token认证。
- AK/SK既可以使用永久访问密钥中的AK/SK，也可以使用临时访问密钥中的AK/SK，但使用临时访问密钥的AK/SK时需要额外携带"X-Security-Token"字段，字段值为临时访问密钥的security_token。
- API网关除了校验时间格式外，还会校验该时间值与网关收到请求的时间差，如果时间差大于15分钟，API网关将拒绝请求。因此客户端必须注意本地时间与时钟服务器的同步，避免请求消息头X-Sdk-Date的值出现较大误差。
 
#### 请求消息
请求参数
| 参数           | 是否必选 | 参数类型  | 描述                      |
|:---|:---|:---|:---|
| *image_file* | 是 | file | 上传文件请求体，选择需要上传的本地文件 |
   
#### 请求示例
上传本地镜像文件。
```
PUT https://{Endpoint}/v2/images/84ac7f2b-bf19-4efb-86a0-b5be8771b476/file
```
![](https://support.huaweicloud.com/api-ims/public_sys-resources/note_3.0-zh-cn.png)
如果使用curl命令方式调用接口，样例参考如下：
```
curl -i --insecure 'https://IP/v2/images/84ac7f2b-bf19-4efb-86a0-b5be8771b476/file' -X PUT -H "X-Auth-Token: $mytoken" -H "Content-Type:application/octet-stream" -T /mnt/userdisk/images/suse.zvhd
```
#### 响应消息
- 响应参数 无
  
- 响应样例
  ```
  HTTP/1.1 204
  ```
  
 
#### 返回值
- 正常 204
  
- 异常
  
  | 返回值              | 说明                                                                              |
  |:---|:---|
  | 400 Bad Request  | 请求错误，具体返回错误码请参考[错误码](https://support.huaweicloud.com/api-ims/ims_03_0908.html)。 |
  | 401 Unauthorized | 鉴权失败。                                                                            |
  | 403 Forbidden    | 没有操作权限。                                                                         |
  | 404 Not Found    | 找不到资源。                                                                           |
  | 409 Conflict     | 请求冲突。                                                                           |
  | 500 System Error  | 系统错误。                                                                           |
     
  
 
