# web.multipartFormData 库模块帮助文档

## web 成员列表 <a id="web" href="#web">&#x23;</a>

### web.multipartFormData <a id="web.multipartFormData" href="#web.multipartFormData">&#x23;</a>
web.multipartFormData 用于构建 `multipart/form-data` 格式的网页上传文件表单。  
如果需要在服务端解析此格式的上传文件数据请使用 fsys.multipartFormData 库。

### web.multipartFormData() <a id="web.multipartFormData" href="#web.multipartFormData">&#x23;</a>
构建上传文件表单。  

[返回对象:webMultipartFormDataObject](#webMultipartFormDataObject)

## webMultipartFormDataObject 成员列表 <a id="webMultipartFormDataObject" href="#webMultipartFormDataObject">&#x23;</a>

### webMultipartFormDataObject.add("字段名","@值") <a id="webMultipartFormDataObject.add" href="#webMultipartFormDataObject.add">&#x23;</a>
添加字段到上传表单中。  
如果值的第一个字符为`@`,则 `@` 后面应当是需要上传的文件路径。  
参数 @2 也可以指定数组值或上传文件路径数组（文件路径前面要加 @）。

### webMultipartFormDataObject.addFile("字段名","文件路径") <a id="webMultipartFormDataObject.addFile" href="#webMultipartFormDataObject.addFile">&#x23;</a>
添加文件到上传表单中。\不要在路径前加 `@`，此函数会自动添加。

### webMultipartFormDataObject.addTable(字段名值对) <a id="webMultipartFormDataObject.addTable" href="#webMultipartFormDataObject.addTable">&#x23;</a>

```aardio
webMultipartFormDataObject.addTable(  
	[""] = "@/*如果值的第一个字符为`@`,则 `@` 后面应当是上传文件路径*/";   
	[""] = "";  
);
```

### webMultipartFormDataObject.boundary() <a id="webMultipartFormDataObject.boundary" href="#webMultipartFormDataObject.boundary">&#x23;</a>
返回分隔符

### webMultipartFormDataObject.close() <a id="webMultipartFormDataObject.close" href="#webMultipartFormDataObject.close">&#x23;</a>
关闭对象  
无需手动调用该函数

### webMultipartFormDataObject.codePage <a id="webMultipartFormDataObject.codePage" href="#webMultipartFormDataObject.codePage">&#x23;</a>
指定服务端编码使用的代码页（数值）。  
UTF8 编码为 65001,系统默认 ANSI 编码为 0 , null 为默认 UTF8 编码

### webMultipartFormDataObject.contentHeader() <a id="webMultipartFormDataObject.contentHeader" href="#webMultipartFormDataObject.contentHeader">&#x23;</a>
返回一个用于构建 HTTP 头的表，指定了 Content-Type 的值:  
`multipart/form-data; boundary=分隔符`。  

可选在参数中指定多个附加表用于添加更多键值

### webMultipartFormDataObject.contentType() <a id="webMultipartFormDataObject.contentType" href="#webMultipartFormDataObject.contentType">&#x23;</a>
返回请求 HTTP 头 Content-Type 的值:  
`multipart/form-data; boundary=分隔符`

### webMultipartFormDataObject.each(块大小) <a id="webMultipartFormDataObject.each" href="#webMultipartFormDataObject.each">&#x23;</a>

```aardio
for block in webMultipartFormDataObject.each(){
	/*循环读取所有块，可选在参数中指定块大小。  
注意这是由 fiber.generator 创建的迭代器。*/
}
```

### webMultipartFormDataObject.read(块大小) <a id="webMultipartFormDataObject.read" href="#webMultipartFormDataObject.read">&#x23;</a>
读取上传数据。  
应循环调用该函数，直到该函数返回空值。

### webMultipartFormDataObject.readAll(块大小) <a id="webMultipartFormDataObject.readAll" href="#webMultipartFormDataObject.readAll">&#x23;</a>
读取所有数据。

### webMultipartFormDataObject.size() <a id="webMultipartFormDataObject.size" href="#webMultipartFormDataObject.size">&#x23;</a>
获取上传数据总大小。
