Nestjs TS2339:文件类型上不存在属性缓冲区

问题描述 投票:0回答:1

在我的 NestJs 应用程序中,我有一个来自控制器端点的文件,它看起来像这样:

const file = {
  fieldname: "file",
  originalname: "filename.png",
  encoding: "7bit",
  mimetype: "image/jpeg",
  buffer: BufferObject,
  size: 2751
}

要解析文件并从中获取数据,我使用以下函数:

public async fileOperation(file: File): Promise<OperationResult> {
  const uploadedData = file.buffer.toString();
  ...

但是,此代码无法编译:

TS2339: Property buffer does not exist on type File

您尝试了什么以及您期待什么?
我正在尝试在不使用

any
的情况下对上传的文件进行操作。
当前的代码如下所示,它符合规定并且功能齐全:

public async fileOperation(file: any): Promise<OperationResult> {
  // eslint-disable-next-line @typescript-eslint/no-unsafe-call,@typescript-eslint/no-unsafe-member-access,@typescript-eslint/no-unsafe-assignment
  const uploadedData = file.buffer.toString();
  ...

我希望有一个可以定义上传文件的本机类型。

typescript nestjs
1个回答
0
投票

感谢 Jay McDoniel 的评论,我能够通过以下方式解决此问题:首先

npm install -D @types/multer
未安装在我的应用程序中。
然后:

public async fileOperation(file: Express.Multer.File): Promise<OperationResult> {
  const uploadedData = file.buffer.toString();
© www.soinside.com 2019 - 2024. All rights reserved.