px普贤教程PuXian
普贤教程 › 包参考

multipart 包

multipart/form-data 编码(HTTP 上传)

项值
包名multipart
版本0.1.0
入口multipart.px
分类数据格式与编解码
文件数 / 行数1 / 85

安装与引入

bash
pxpkg init          # 首次
pxpkg add multipart@0.1.0
pxpkg install
px
import multipart
所属分类教程:数据格式与编解码

公开接口

函数参数
mp_encodefields, files
其余 4 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
mp_boundary
mp_field_bytesboundary, name, value
mp_file_bytesboundary, fname, finfo
mp_val_strfv

包内说明(源码头注释)

text
============================================================
普贤标准库:std.multipart —— multipart/form-data 编码(HTTP 上传)
------------------------------------------------------------
纯函数库(无 IO、无状态),编译/解释双模式一致。
面向「http_request 上传 multipart 表单 / 飞书 uploadImage」场景:
mp_encode(fields, files) → {"body": bytes, "content_type": str, "len": int}
fields: dict 字段名→值(int/float/bool 自动转 str,bytes 内容按字段原样)
files:  dict 字段名→ {filename: 文件名, data: str|bytes 内容, type: MIME(可选)}
body 为完整 multipart 字节(自动 boundary)
用法:
import std.multipart
var m = mp_encode({"token": "abc"},
{"image": {"filename": "a.png", "data": img_bytes,
"type": "image/png"}})
var r = http_request(url, "POST", m["body"],
{"Content-Type": m["content_type"]})
============================================================
---- CRLF 常量(顶层 let:import 时初始化一次,只读)----