正如文档所说:我们可以为文件拦截器提供异步配置。
我想用它来使用我的ConfigService
上传目录(环境不同)。但我不知道在哪里写这个异步配置。
文档为我们提供了一个设置配置的示例,但我不知道如何将其集成到我的项目中。
我查看了官方文档,尤其是Techniques/File Upload
和Overview/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]
})
您是否知道如何集成此配置?
谢谢您的帮助 :)
您必须在MulterModule
中导入AppModule
以设置默认配置:
@Module({
imports: [
MulterModule.registerAsync(...)
],
})
export class AppModule{}