# 文件上传

## 文件上传请求

```text
POST /api/file/upload
Content - Type: multipart / form - data
```

## 表单内容

| 参数名 | 类型 | 必填 | 描述 |
|  --- | --- | --- | --- |
| meta | json | 是 | 文件元数据 |
| file | file | 是 | 文件(最大不超过10MiB) |


其中meta的格式为JSON, 内容如下:

| Key | 类型 | 必填 | 描述 |
|  --- | --- | --- | --- |
| name | String | 是 | 文件名(最大128字符) |
| sha256 | String | 是 | 文件的sha256 (16进制字符串形式) |


文件上传的加签验签方式与其他基于文本的API不同, 在计算签名时使用的body为meta的json字符串
最终组合出的签名字符串形如:

```text
请求路径\n
请求时间戳(timestamp)\n
请求随机串(nonce)\n
商户号\n
请求meta的json字符串
```

除入网接口外，其他接口会校验文件id与商户关系

br
## 响应

| 参数名 | 类型 | 必填 | 描述 |
|  --- | --- | --- | --- |
| file_id | Integer | 是 | 文件id |


响应的加签/验签方式与其他API一致