
# 创建文件并获取上传URL - CreateFile
#### 功能介绍
该接口用于创建文件并获取上传URL。
#### 调用方法
请参见[如何调用API](https://support.huaweicloud.com/api-metastudio/metastudio_02_0002.html)。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-metastudio/metastudio_02_0071.html)。
#### URI
POST /v1/{project_id}/files
表1路径参数 
| 参数         | 是否必选 | 参数类型   | 描述                                                                                            |
|:---|:---|:---|:---|
| project_id | 是    | String | 项目ID，获取方法请参考[获取项目ID](https://support.huaweicloud.com/api-metastudio/metastudio_02_0006.html)。 |
   
#### 请求参数
表2请求Header参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                             |
|:---|:---|:---|:---|
| X-Auth-Token  | 否    | String | 用户Token。使用Token鉴权方式时必选。 通过调用IAM服务获取用户Token接口获取。 响应消息头中X-Subject-Token的值。 |
| Authorization | 否    | String | 使用AK/SK方式认证时必选，携带的鉴权信息。                                                                                                                                                                        |
| X-Sdk-Date    | 否    | String | 使用AK/SK方式认证时必选，请求的发生时间。 格式为(YYYYMMDD'T'HHMMSS'Z')。                                                                                  |
| X-App-UserId  | 否    | String | 第三方用户ID。不允许输入中文。                                                                                                                                                                               |
   
表3请求Body参数 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| file_name           | 是    | String | **参数解释**： 文件名。 **约束限制**： 不区分大小写。 **取值范围**： 字符长度1-256位。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| file_md5            | 是    | String | **参数解释**： 文件内容MD5值。按照RFC 1864标准计算出消息体的MD5摘要字符串，即消息体128-bit MD5值经过base64编码后得到的字符串。 md5值获取详情请参考[使用Java代码生成文件内容的MD5值](https://support.huaweicloud.com/api-metastudio/metastudio_02_0052.html)。 **约束限制**： 不涉及 **取值范围**： 字符长度24位。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| file_size           | 是    | Long   | **参数解释**： 文件总的大小。 **约束限制**： 最大支持5GB **默认取值**： 不涉及 **取值范围：** 1\~5368709120                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| file_type           | 是    | String | **参数解释**： 文件类型 **约束限制**： 不涉及 **取值范围**： 字符长度1-64位。 **默认取值**： 默认提取文件后缀。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| asset_id            | 是    | String | **参数解释**： 本平台资产ID。 **约束限制**： 不涉及 **取值范围**： 字符长度1-64位。 **默认取值**： 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| asset_file_category | 是    | String | **参数解释**： 文件在资产中的分类。每种资产类型包含的文件分类不同。 - MAIN：主文件   - COVER：封面文件   - PAGE：PPT内容页图片文件   - SAMPLE：样例音频或样例动作文件   - OTHER：其他文件   - TEMPORARY：临时文件夹（用于文件替换时上传新文件）   - PACKAGE：打包后的资产文件    说明： - 资产类型为PPT时，包含MAIN、COVER、PAGE和OTHER   - 资产类型为VOICE_MODEL时，包含MAIN、SAMPLE(样例音频文件)和OTHER   - 资产类型为HUMAN_MODEL_2D时，包含MAIN、COVER、SAMPLE(动作样例)和OTHER   - 资产类型为BUSINESS_CARD_TEMPLET时，包含MAIN和COVER(名片效果图)   - 资产类型为IMAGE时，包含MAIN   - 资产类型为VIDEO时，包含MAIN、COVER    **约束限制**： 一个资产中MAIN文件只有一个，且必须有一个 **取值范围**： 字符长度1-128位。 **默认取值**： 不涉及 |
   
#### 响应参数
**状态码：200**
表4响应Header参数 
| 参数           | 参数类型   | 描述    |
|:---|:---|:---|
| X-Request-Id | String | 请求ID。 |
   
表5响应Body参数 
| 参数         | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|
| file_id    | String | 文件ID。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| upload_url | String | 文件上传地址，有效期为24小时。 说明： - 调用OBS的["PUT上传"](https://support.huaweicloud.com/api-obs/obs_04_0080.html)接口上传文件。   - 调用上述接口时，Content-MD5头必须填写，填写的值跟file_md5中的值相同，md5值获取详情请参考[使用Java代码生成文件内容的MD5值](https://support.huaweicloud.com/api-metastudio/metastudio_02_0052.html)。   - 调用上述接口时，Content-Type头必须填写，填写的值根据不同的文件类型有所不同。    文件类型为gif，Content-Type填写image/gif 文件类型为jpeg、jpg，Content-Type填写image/jpeg 文件类型为png，Content-Type填写image/png 文件类型为mp4，Content-Type填写video/mp4 文件类型为mp3，Content-Type填写audio/mp3 文件类型为wav，Content-Type填写audio/wav 其余所有类型，Content-Type填写application/octet-stream |
   
**状态码：400**
表6响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
**状态码：401**
表7响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
**状态码：500**
表8响应Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误描述。 |
   
#### 请求示例
```
POST https://{endpoint}/v1/6a6a1f8354f64dd9b9a614def7b59d83/files
{
  "file_name" : "1.png",
  "file_md5" : "n58IG6hfM7vqI4K0vnWpog==",
  "file_size" : 1048576,
  "file_type" : "png",
  "asset_id" : "8cb2f48a2cb006154794741933421100",
  "asset_file_category" : "MAIN"
}
```
#### 响应示例
**状态码：200**
成功。
```
{
  "file_id" : "b2f8a9e9c39b6dc7ed4c0cfd67366c6a",
  "upload_url" : "https://{endpoint}:443/0d697589d98091f12f92c0073501cd79/8cb2f48a2cb006154794741933421100/b2f8a9e9c39b6dc7ed4c0cfd67366c6a.jpg?AccessKeyId=**************&Expires=1671154644&Signature=**************"
}
```
**状态码：400**
请求传参异常，包含错误码及对应描述。
```
{
  "error_code" : "MSS.00000003",
  "error_msg" : "Invalid parameter"
}
```
**状态码：401**
未鉴权或鉴权失败。
```
{
  "error_code" : "MSS.00000001",
  "error_msg" : "Unauthorized"
}
```
**状态码：500**
内部服务错误。
```
{
  "error_code" : "MSS.00000004",
  "error_msg" : "Internal Error"
}
```
#### 状态码
| 状态码 | 描述                 |
|:---|:---|
| 200 | 成功。                |
| 400 | 请求传参异常，包含错误码及对应描述。 |
| 401 | 未鉴权或鉴权失败。          |
| 500 | 内部服务错误。            |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-metastudio/ErrorCode.html)。
