# @blazity/nest-file-fastify 中文文档

规范地址：https://npmcn.com/package/%40blazity/nest-file-fastify/

版本：1\.0\.0
npm 元数据更新时间：2022-04-04T19:30:23.999Z
中文译文更新时间：2026-11-08T06:29:13.231Z
软件包许可：MIT

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

原始 npm 页面：https://www.npmjs.com/package/%40blazity/nest-file-fastify
原文对照：https://npmcn.com/package/%40blazity/nest-file-fastify/?lang=original

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

- 包体积（解压后）：54.5 kB，83 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2021-12-12T13:10:57.829Z
- 最新版本发布：2021-12-12T13:10:58.016Z
- 近 30 天下载量：142742（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：1（近 12 个月 0 个）

## 中文简介

为 Nest.js 安装多块装饰器

## 安装

```sh
npm install @blazity/nest-file-fastify
```

也可以使用：`pnpm add @blazity/nest-file-fastify`、`yarn add @blazity/nest-file-fastify`、`bun add @blazity/nest-file-fastify`

## README

# 为 Nest.js 安装多部分

[![Github Actions](https://img.shields.io/github/workflow/status/blazity/nest-file-fastify/Build?style=flat-square)](https://github.com/Blazity/nest-file-fastify) [![NPM](https://img.shields.io/npm/v/@blazity/nest-file-fastify.svg?style=flat-square)](https://www.npmjs.com/package/@blazity/nest-file-fastify) [![NPM](https://img.shields.io/npm/dm/@blazity/nest-file-fastify?style=flat-square)](https://www.npmjs.com/package/@blazity/nest-file-fastify)

此库增加了装饰器 [(原始内容存档于2019-09-21) (英语). Nest.js](https://github.com/nestjs/nest) 支助 [粘接多块](https://github.com/fastify/fastify-multipart). API与官方Nest.js Express文件装饰器非常相近.

## 安装

国家预防机制

```bash
$ npm install @blazity/nest-file-fastify fastify-multipart
```

雅伦

```bash
$ yarn add @blazity/nest-file-fastify fastify-multipart
```

## 文档

### 单个文件

```ts
import { FileInterceptor, UploadedFile, StorageFile } from '@blazity/nest-file-fastify';

@Post('upload')
@UseInterceptors(FileInterceptor('file'))
uploadFile(@UploadedFile() file: StorageFile) {
  console.log(file);
}
```

`FileInterceptor` 参数 :

-   `fieldname`: 字符串 - 持有文件的字段名称
    
-   `options`: 类型中的可选对象 [`UploadOptions`](https://github.com/Blazity/nest-file-fastify/blob/master/src/options.ts#L3)
    

### 文件阵列

```ts
import { FilesInterceptor, UploadedFiles, StorageFile } from '@blazity/nest-file-fastify';

@Post('upload')
@UseInterceptors(FilesInterceptor('files'))
uploadFile(@UploadedFiles() files: StorageFile[]) {
  console.log(files);
}
```

`FilesInterceptor` 参数 :

-   `fieldname`: 字符串 - 持有文件的字段名称
    
-   `maxCount`: 可选数字 - 要接受的文件的最大数量
    
-   `options`: 类型中的可选对象 [`UploadOptions`](https://github.com/Blazity/nest-file-fastify/blob/master/src/options.ts#L3)
    

### 多个文件

```ts
import { FileFieldsInterceptor, UploadedFiles, StorageFile } from '@blazity/nest-file-fastify';

@Post('upload')
@UseInterceptors(FileFieldsInterceptor([
  { name: 'avatar', maxCount: 1 },
  { name: 'background', maxCount: 1 },
]))
uploadFile(@UploadedFiles() files: { avatar?: StorageFile[], background?: StorageFile[] }) {
  console.log(files);
}
```

`FileFieldsInterceptor` 参数 :

-   `uploadFields`: 类型对象 [`UploadField`](https://github.com/Blazity/nest-file-fastify/blob/master/src/interceptors/file-fields-interceptor.ts#L15)
    
-   `options`: 类型中的可选对象 [`UploadOptions`](https://github.com/Blazity/nest-file-fastify/blob/master/src/options.ts#L3)
    

### 任何文件

```ts
import { AnyFilesInterceptor, UploadedFiles, StorageFile } from '@blazity/nest-file-fastify';

@Post('upload')
@UseInterceptors(AnyFilesInterceptor()
uploadFile(@UploadedFiles() files: StorageFile[]) {
  console.log(files);
}
```

`AnyFilesInterceptor` 参数 :

-   `options`: 类型中的可选对象 [`UploadOptions`](https://github.com/Blazity/nest-file-fastify/blob/master/src/options.ts#L3)

## 常见问题

### @blazity/nest-file-fastify 是什么？

为 Nest\.js 安装多块装饰器

### 如何安装 @blazity/nest-file-fastify？

在项目目录运行 npm install @blazity/nest-file-fastify，或使用 pnpm add / yarn add / bun add。

### @blazity/nest-file-fastify 支持 TypeScript 吗？

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

### @blazity/nest-file-fastify 支持 ESM 还是 CommonJS？

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

### @blazity/nest-file-fastify 可以商用吗？

@blazity/nest-file-fastify 使用 MIT 许可。宽松许可：允许商业使用、修改和再分发，通常只需在分发时保留原版权与许可声明。以上为概括，不构成法律意见，请以许可原文为准。

### @blazity/nest-file-fastify 的下载量有多少？

根据 npm 官方下载统计，@blazity/nest-file-fastify 在 2026/10/09 – 2026/11/07 这 30 天内被下载 142,742 次，日均约 4,758 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @blazity/nest-file-fastify 还在维护吗？

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

