在nestJs multer文件上传中找不到diskStorage()

pas*_*sek 3 multer nestjs

我想在我的 NestJs 应用程序中使用 multer,如下所示:

@Post()
@UseInterceptors(
    FileInterceptor('file', {
        storage: diskStorage({
            destination: './files',
        }),
    }),
)
async upload(@Request() req, @Query() query: any, @UploadedFile() file) {
    console.log(file);
}
Run Code Online (Sandbox Code Playgroud)

但我的 IDE (vscode) 一直说:找不到名称“diskStorage”并且未编译。我还在指定的模块(FeatureModule)上注册了MulterModule。

我可以用

@UseInterceptors(
    FileInterceptor('file', { dest: '/data-path'}),
)
Run Code Online (Sandbox Code Playgroud)

但我想更改文件名,例如。为此我需要 diskStorage 函数

我能做什么来解决这个问题?

pas*_*sek 7

解决方案如@JayMcDoniel 所描述,必须进行额外的导入。

import { diskStorage } from 'multer';

在这个例子的帮助下,我能够再次重新创建并解决整个问题。 https://github.com/TannerGabriel/Blog/tree/091cbf99bc9409629e1ab717ca8ec405c421d6d4/nest-file-uploading