# @anzp/azure-function-multipart 中文文档

规范地址：https://npmcn.com/package/%40anzp/azure-function-multipart/

版本：3\.1\.0
npm 元数据更新时间：2022-06-22T13:33:49.082Z
中文译文更新时间：2026-11-06T08:12:29.167Z
软件包许可：SEE LICENSE IN LICENSE

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40anzp/azure-function-multipart
原文对照：https://npmcn.com/package/%40anzp/azure-function-multipart/?lang=original
项目主页：https://azure-function-multipart.stor.my.id/
源码仓库：https://github.com/anzharip/azure-function-multipart

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：50.4 kB，24 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：4 个
- 首次发布：2021-04-06T09:57:49.235Z
- 最新版本发布：2022-06-22T13:33:48.973Z
- 近 30 天下载量：16405（2026-10-06 至 2026-11-04，npm 官方下载统计）
- 已发布版本数：20（近 12 个月 0 个）

## 中文简介

解析 Azure 函数多段/形式数据的模块.

## 安装

```sh
npm install @anzp/azure-function-multipart
```

也可以使用：`pnpm add @anzp/azure-function-multipart`、`yarn add @anzp/azure-function-multipart`、`bun add @anzp/azure-function-multipart`

## README

# azure-函数多相

[![Build and Test](https://github.com/anzharip/azure-function-multipart/actions/workflows/build-and-test.yml/badge.svg)](https://github.com/anzharip/azure-function-multipart/actions) [![codecov](https://codecov.io/gh/anzharip/azure-function-multipart/branch/main/graph/badge.svg?token=LWQJDZNQV7)](https://codecov.io/gh/anzharip/azure-function-multipart) [![Codacy Badge](https://app.codacy.com/project/badge/Grade/96165dceeefa4968b4822ab97d846faa)](https://www.codacy.com/gh/anzharip/azure-function-multipart/dashboard?utm_source=github.com&utm_medium=referral&utm_content=anzharip/azure-function-multipart&utm_campaign=Badge_Grade) [![npm downloads](https://img.shields.io/npm/dm/@anzp/azure-function-multipart)](https://www.npmjs.com/package/@anzp/azure-function-multipart)

解析 Azure 函数多段/形式数据的模块.

说明: Will也会在任何节点的 HTTP 请求对象上工作, 将 Azure 函数的 Httprequest 对象放在一边, 因为此软件包是基于 busboy .

## 安装

```bash
npm i @anzp/azure-function-multipart
```

## 实例

解析 Azure 函数的多段/形式数据 。 这将返回解析过的字段和文件作为响应 .

用于类型脚本 :

```typescript
import { AzureFunction, Context, HttpRequest } from "@azure/functions";
import parseMultipartFormData from "@anzp/azure-function-multipart";

const httpTrigger: AzureFunction = async function (
  context: Context,
  req: HttpRequest
): Promise<void> {
  const { fields, files } = await parseMultipartFormData(req);
  context.log("HTTP trigger function processed a request.");
  const name = req.query.name || (req.body && req.body.name);
  const responseMessage = {
    fields,
    files,
  };

  context.res = {
    // status: 200, /* Defaults to 200 */
    body: responseMessage,
  };
};

export default httpTrigger;
```

对于 Java 脚本 :

```javascript
const parseMultipartFormData = require("@anzp/azure-function-multipart")
  .default;

module.exports = async function (context, req) {
  const { fields, files } = await parseMultipartFormData(req);
  context.log("HTTP trigger function processed a request.");
  const name = req.query.name || (req.body && req.body.name);
  const responseMessage = {
    fields,
    files,
  };

  context.res = {
    // status: 200, /* Defaults to 200 */
    body: responseMessage,
  };
};
```

使用 CURL 请求客户端示例 :

```bash
curl --request POST \
  --url http://localhost:7071/api/HttpTrigger1 \
  --header 'Content-Type: multipart/form-data; boundary=---011000010111000001101001' \
  --form update=false \
  --form collection=@/Users/anzhari/masterdata/managements.json
```

这是客户端收到的例子:

```json
{
  "fields": [
    {
      "fieldname": "update",
      "value": "false",
      "fieldnameTruncated": false,
      "valueTruncated": false,
      "encoding": "7bit",
      "mimetype": "text/plain"
    }
  ],
  "files": [
    {
      "fieldname": "file",
      "bufferFile": {
        "type": "Buffer",
        "data": [91, 10, ...10, 93]
      },
      "filename": "managements.json",
      "encoding": "7bit",
      "mimetype": "application/json"
    }
  ]
}
```

也可以通过 [巴士男孩构造器配置](https://github.com/mscdex/busboy#busboy-methods) 作为可选参数:

```typescript
import { AzureFunction, Context, HttpRequest } from "@azure/functions";
import parseMultipartFormData from "@anzp/azure-function-multipart";

const httpTrigger: AzureFunction = async function (
  context: Context,
  req: HttpRequest
): Promise<void> {
  // Set the max number of non-file fields to 1 (Default: Infinity).
  const config = {
    limits: { fields: 1 },
  };
  const { fields, files } = await parseMultipartFormData(req, config);
  context.log("HTTP trigger function processed a request.");
  const name = req.query.name || (req.body && req.body.name);
  const responseMessage = {
    fields,
    files,
  };

  context.res = {
    // status: 200, /* Defaults to 200 */
    body: responseMessage,
  };
};

export default httpTrigger;
```

## 常见问题

### @anzp/azure-function-multipart 是什么？

解析 Azure 函数多段/形式数据的模块\.

### 如何安装 @anzp/azure-function-multipart？

在项目目录运行 npm install @anzp/azure-function-multipart，或使用 pnpm add / yarn add / bun add。

### @anzp/azure-function-multipart 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @anzp/azure-function-multipart 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @anzp/azure-function-multipart 可以商用吗？

@anzp/azure-function-multipart 使用 SEE LICENSE IN LICENSE 许可。许可条款写在包内的独立文件中，请阅读该文件确认可否商用。以上为概括，不构成法律意见，请以许可原文为准。

### @anzp/azure-function-multipart 的下载量有多少？

根据 npm 官方下载统计，@anzp/azure-function-multipart 在 2026/10/06 – 2026/11/04 这 30 天内被下载 16,405 次，日均约 547 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @anzp/azure-function-multipart 还在维护吗？

最新版本 3\.1\.0 发布于 2022/06/22（4 年前）；至今共发布 20 个版本，其中过去 12 个月发布了 0 个；首次发布于 2021/04/06。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

