【问题标题】:diskStorage() not found in nestJs multer file upload在nestJs multer文件上传中找不到diskStorage()
【发布时间】:2021-01-03 14:13:39
【问题描述】:

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

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

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

我可以使用

@UseInterceptors(
    FileInterceptor('file', { dest: '/data-path'}),
)

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

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

【问题讨论】:

  • 你从哪里导入diskStorage
  • import 来自 @nestjs/platform-express 并在 @Module({ imports: [MulterModule.register()] .....
  • 不应该diskStorage 来自multer 包吗?
  • 不,docu 说平台快递:
  • mutler 的 Nest 模块来自 @nestjs/platform-express,但该功能仍然来自 multer

标签: nestjs multer


【解决方案1】:

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

import { diskStorage } from 'multer';

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

【讨论】:

    猜你喜欢
    • 2018-08-12
    • 2018-08-12
    • 1970-01-01
    • 2021-11-09
    • 2019-02-11
    • 2018-02-25
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多