xMagic- 仓湖云函数数字应用平台
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
  1. xScript - x16.25.11
  • xMagic - 仓湖云函数数字应用平台
  • xScript - 仓湖云函数数字应用引擎
  • xMagic - 二开应用场景案例
  • 数据应用
    • 消息订阅(WSS)
    • 消息订阅(SSE)
    • 用户信息
    • 免密登陆(短信)
  • xScript - x16.25.11
    • assert
    • buffer
    • color
    • compress
    • console
    • crontab
    • crypto
    • encoding
    • events
    • evenloop
    • esm
    • fetch
    • fs
    • image
    • kv
    • mail
    • ml
    • mqtt
    • multipart
    • net
    • os
    • path
    • process
    • protobuf
    • querystring
    • redis
    • request
    • require
    • sql
    • tty
    • tui
    • ua
    • url
    • util
    • websocket
    • xml
    • yaml
    • mongo
    • http
    • stream
    • runtime
  • 小工具
    • APS - 代理转发
      • Any Proxy Service - 高级 HTTP/HTTPS/gRPC 代理转发工具
      • 配置指南 - 双向 Headers 和 Match/Replace
  • 数据模型
    • Schemas
      • AdminChangeAvatarReq
      • casbin.CasbinRule
      • AdminDelBatchReq
      • entity.DeptLable
      • AdminDelReq
      • entity.DevGenTable
      • AdminListReq
      • entity.DevGenTableColumn
      • AdminLoginReq
      • entity.FlowWorkClassify
      • AdminPostReq
      • entity.FlowWorkInfo
      • AdminReply
      • entity.FlowWorkTemplates
      • AdminUpdatePwdReq
      • entity.LogLogin
      • MenuDelBatchReq
      • entity.LogOper
      • MenuDelReq
      • entity.LoginM
      • MenuListReq
      • entity.MenuLable
      • MenuPostReq
      • entity.MenuPath
      • MenuReply
      • entity.ResEmail
      • RoleApisReq
      • entity.ResOss
      • SystemApiDelBatchReq
      • entity.ScreenGroupLabel
      • SystemApiDelReq
      • entity.SysApi
      • SystemApiListReq
      • entity.SysConfig
      • SystemApiPostReq
      • entity.SysDept
      • SystemApiReply
      • entity.SysDictData
      • SystemDepartmentDelBatchReq
      • entity.SysDictType
      • SystemDepartmentDelReq
      • entity.SysJob
      • SystemDepartmentListReq
      • entity.SysMenu
      • SystemDepartmentPostReq
      • entity.SysNotice
      • SystemDepartmentReply
      • entity.SysPost
      • SystemRoleApiDelBatchReq
      • entity.SysRole
      • SystemRoleApiDelReq
      • entity.SysTenants
      • SystemRoleApiListReq
      • entity.SysUser
      • SystemRoleApiPostReq
      • entity.SysUserB
      • SystemRoleApiReply
      • entity.SysUserId
      • SystemRoleDelBatchReq
      • entity.SysUserView
      • SystemRoleDelReq
      • entity.VisualRuleChain
      • SystemRoleListReq
      • entity.VisualScreen
      • SystemRoleMenuAddReq
      • entity.VisualScreenGroup
      • SystemRoleMenuDelBatchReq
      • form.Login
      • SystemRoleMenuDelReq
      • from.SendMail
      • SystemRoleMenuListReq
      • map[string]interface {}
      • SystemRoleMenuPostReq
      • map[string]string
      • SystemRoleMenuReply
      • model.BaseAutoModel
      • SystemRolePostReq
      • model.BaseModel
      • SystemRoleReply
      • model.ResultPage
      • model.ResultPage.data
      • vo.AuthVo
      • vo.DeptTreeVo
      • vo.MenuTreeVo
      • vo.MetaVo
      • vo.RouterVo
      • vo.TableInfoVo
      • vo.TokenVo
      • vo.UserRolePost
      • vo.UserVo
      • vo.UserVo.data
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
首页
🍓 函数引擎
更多产品
更多产品
  • 微澜组网
  1. xScript - x16.25.11

multipart

Multipart 模块#

Multipart 模块为 XScript 提供 multipart/form-data 表单数据处理功能,用于文件上传和表单解析。

功能特性#

文件上传 - 处理文件上传请求
表单解析 - 解析 multipart 表单数据
多文件支持 - 同时上传多个文件
流式处理 - 大文件流式上传
文件过滤 - 文件类型和大小限制
临时存储 - 自动管理临时文件
创建 Multipart 数据 - 生成 multipart/form-data 用于发送请求

基本使用#

引入模块#

解析表单数据#

保存上传文件#

多文件上传#

文件过滤#

创建 Multipart 数据#

当需要发送包含文件的 HTTP 请求时,可以使用 multipart.new() 创建 multipart 数据。

链式调用#

Multipart 对象支持链式调用:

动态添加和删除#

API 参考#

解析方法#

multipart.parse(request, options)#

解析 multipart 请求。
参数:
request (Request) - HTTP 请求对象
options (object) - 配置选项
maxFileSize (number) - 最大文件大小(字节)
maxFiles (number) - 最大文件数量
allowedTypes (Array) - 允许的 MIME 类型
uploadDir (string) - 上传目录
返回: (Form) 表单对象

表单方法#

form.get(name)#

获取字段值。

form.getFile(name)#

获取单个文件。

form.getFiles(name)#

获取多个文件。

form.getAllFiles()#

获取所有文件。

创建方法#

multipart.new()#

创建一个新的 Multipart 对象用于生成 multipart/form-data 数据。
返回: (Multipart) Multipart 对象

multipart.addField(field, value)#

添加文本字段。
参数:
field (string) - 字段名
value (string) - 字段值
返回: (Multipart) 返回自身,支持链式调用

multipart.addFile(field, filePath)#

添加文件字段。
参数:
field (string) - 字段名
filePath (string) - 文件路径
返回: (Multipart) 返回自身,支持链式调用

multipart.delField(field)#

删除文本字段。
参数:
field (string) - 字段名
返回: (Multipart) 返回自身,支持链式调用

multipart.delFile(field)#

删除文件字段。
参数:
field (string) - 字段名
返回: (Multipart) 返回自身,支持链式调用

multipart.create()#

生成 multipart/form-data 格式的数据。
返回: (object) 包含以下属性的对象
content_type (string) - Content-Type 头的值
content (string) - multipart 数据内容

实际应用场景#

头像上传#

文档上传#

图片批量上传#

表单数据提交#

最佳实践#

1.
文件大小限制 - 设置合理的文件大小限制
2.
文件类型验证 - 检查文件类型防止恶意上传
3.
唯一文件名 - 使用时间戳或 UUID 生成唯一文件名
4.
安全存储 - 上传文件存储在 web 根目录外
5.
临时文件清理 - 及时清理临时文件
6.
病毒扫描 - 关键系统扫描上传文件
7.
权限检查 - 验证用户上传权限

安全建议#

1.
文件名过滤 - 过滤特殊字符防止路径遍历
2.
MIME 验证 - 不仅检查扩展名,也检查 MIME 类型
3.
内容检查 - 验证文件真实类型
4.
大小限制 - 防止 DoS 攻击
5.
存储隔离 - 不同用户文件分开存储

相关模块#

fs - 文件操作
image - 图片处理
crypto - 文件哈希校验

发送文件到远程服务器#

修改于 2025-11-03 13:08:30
上一页
mqtt
下一页
net
Built with