web.files
web.files
功能
读取上传文件对象。
语法
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 方法。 |
示例
// 上传字段 avatar avatar = web.files.avatar[0] result = avatar.filename // 输出:logo.png print result
file 字段可直接作为 fs 对象处理上传后的临时文件:
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 对象;后续应使用返回值继续访问移动后的文件。