我将 @UseInterceptors 与 @nestjs/platform-express 中的 FilesInterceptor 一起使用。FilesInterceptor 允许我传递一些配置(例如文件存储文件夹)。我想传递的不是精确值(例如“public”),而是从 configService 获取它们。
从这个答案(/sf/answers/4187966611/)我明白为什么从 UseInterceptors 调用 this.configService 会导致未定义。
@UseInterceptors(FilesInterceptor('cat_pic', 2, this.configService.get('storageConfigs')))
Run Code Online (Sandbox Code Playgroud)
那么如何将配置传递给 FilesInterceptor 呢?或者,如果我将文件拦截器功能移至单独的模块,如何访问服务?
config()您可以选择的一种选择是从包中调用dotenv以将所有内容加载process.env到您的main.ts. 您仍然可以在其他地方使用ConfigModuleand ,但在装饰器中您将使用该变量。ConfigServiceprocess.env.storageConfigs
另一个选择是像@golevelup/profiguration这样的包,它是一个配置服务,由于其编写方式,可以在装饰器中使用。
| 归档时间: |
|
| 查看次数: |
6993 次 |
| 最近记录: |