NestJS - 如何/在何处以异步方式配置FileInterceptor

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

正如文档所说:我们可以为文件拦截器提供异步配置。

我想用它来使用我的ConfigService上传目录(环境不同)。但我不知道在哪里写这个异步配置。

文档为我们提供了一个设置配置的示例,但我不知道如何将其集成到我的项目中。

我查看了官方文档,尤其是Techniques/File UploadOverview/Middleware。我测试了一些实现,但我的配置似乎从未使用过。

我使用这种方法配置Multer:

MulterModule.registerAsync({
  imports: [ConfigModule],
  useFactory: async (configService: ConfigService) => ({
    storage: diskStorage({
      destination: configService.downloadFolder,
      filename: (req, file, cb) => {
        const randomName = Array(32)
          .fill(null)
          .map(() => Math.round(Math.random() * 16).toString(16))
          .join('')
        return cb(null, `${randomName}${extname(file.originalname)}`)
      }
    })
  }),
  inject: [ConfigService]
})

您是否知道如何集成此配置?

谢谢您的帮助 :)

node.js file-upload interceptor multer nestjs
1个回答
0
投票

您必须在MulterModule中导入AppModule以设置默认配置:

@Module({
  imports: [
    MulterModule.registerAsync(...)
  ],
})
export class AppModule{}
© www.soinside.com 2019 - 2024. All rights reserved.