在我的 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();
...
我希望有一个可以定义上传文件的本机类型。
感谢 Jay McDoniel 的评论,我能够通过以下方式解决此问题:首先
npm install -D @types/multer
未安装在我的应用程序中。public async fileOperation(file: Express.Multer.File): Promise<OperationResult> {
const uploadedData = file.buffer.toString();