# reqwest.multipart

## 功能

设置 multipart/form-data 请求体，用于提交普通字段和文件字段。

## 语法

```bt
reqwest(url).multipart(values)
```

## 参数

| 参数 | 类型 | 必填 | 默认值 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
| values | Object | 是 | 无 | multipart 字段映射对象；键和值的规则见下方。 |

## values 对象结构

| 键 | 值类型 | 说明 |
| ------ | ------ | ------ |
| 字段名 | Any | 普通字段，调用时会转为字符串。 |
| 字段名 | Object | 文件字段；对象中必须提供 path，可选 file_name、mime。 |

## 文件字段对象结构

| 字段 | 类型 | 必填 | 默认值 | 说明 |
| ------ | ------ | ------ | ------ | ------ |
| path | String | 是 | 无 | 要上传的本地文件路径。 |
| file_name | String | 否 | 原文件名 | 上传时暴露给服务端的文件名。 |
| mime | String | 否 | 自动识别 | 文件 MIME 类型，例如 `image/png`。 |

## 返回值

| 类型 | 说明 |
| ------ | ------ |
| Reqwest | 返回新的请求构建器。 |

## 示例

```bt
request = reqwest('https://example.com/upload').method('POST').multipart({
	name: 'BT',
	file: {path: 'demo.txt', file_name: 'demo.txt', mime: 'text/plain'}
})
result = type(request)

// 输出：Reqwest
print result
```

## 注意事项

- values 必须是对象，否则会报错。
- body、json、form、multipart 都会设置请求体；同一请求中最后一次设置的请求体生效。
