# web.files ## 功能 读取上传文件对象。 ## 语法 ```bt web.files ``` ## 参数 无参数。 ## 返回值 | 类型 | 说明 | | ------ | ------ | | Object | 返回上传文件字段对象。对象键为表单文件字段名,值为该字段上传文件信息数组。 | ## 对象结构 `web.files` 的顶层对象按上传字段名分组。即使同一字段只上传了一个文件,该字段值也仍然是 Array。 | 字段 | 类型 | 说明 | | ------ | ------ | ------ | | 任意上传字段名 | Array | 该字段下的文件信息对象数组。字段不存在时读取结果为 Empty。 | 每个文件信息对象包含以下字段: | 字段 | 类型 | 说明 | | ------ | ------ | ------ | | filename | String | 浏览器提交的原始文件名;没有文件名时为空字符串。 | | size | Int | 上传文件字节数。 | | type | String | 上传文件的 MIME 类型;请求未提供类型时为空字符串。 | | path | String | BT 保存后的服务器本地临时文件路径。 | | name | String | 表单文件字段名,例如 avatar、file。 | | file | Fs | 绑定到 `path` 的 fs 对象,可继续调用 read、binary、move、copy、delete 等 fs 方法。 | ## 示例 ```bt // 上传字段 avatar avatar = web.files.avatar[0] result = avatar.filename // 输出:logo.png print result ``` `file` 字段可直接作为 fs 对象处理上传后的临时文件: ```bt avatar = web.files.avatar[0] saved = avatar.file.move('uploads') result = saved.path() // 输出示例:uploads/avatar.png print result ``` ## 注意事项 - `web.files` 只包含文件字段;普通表单字段请读取 `web.post`。 - 上传文件会先保存到服务器临时目录,`path` 和 `file` 指向的是保存后的本地文件。 - `file.move(dir)` 会把临时文件移动到目标目录并返回新的 Fs 对象;后续应使用返回值继续访问移动后的文件。