FileInterceptor не читает переменные .env

Использованиеnesjs и его библиотеки@UseInterceptorsчтобы сохранить файл в GCS. Я не могу вызывать переменные изprocess.env.VARIABLEс использованиемmulterGoogleStorageбиблиотека.

Итак, вот мой код

      @UseInterceptors(
FileInterceptor('file', {
  storage: multerGoogleStorage.storageEngine({
    bucket: 'maca_files',
    projectId: process.env.GCLOUD_PROJECT,
    bucket: process.env.GCS_BUCKET,
    keyFilename: process.env.KEYFILENAME,
    filename: (req, file, cb) => {
      cb(null, `/${file.originalname}`);
        },
      }),
    }),
  )
  async saveFile(
  @UploadedFile() file: Express.Multer.File,
  @Req() req: Request,
) {
   return file.path;
}

Это мой файл контроллера, и я импортировал его

      import * as dotenv from 'dotenv';

прежде чем я импортировал

      import * as multerGoogleStorage from 'multer-google-storage';

С кодом нет проблем, поскольку он отлично работает, когда я заменяю эти env. переменные с реальными переменными или путями.

Я думаю, проблема в том, что GCS вызывается до того, как файл скомпилирует все файлы env. В основном я получаю неопределенную проблему.

Итак, мой вопрос

  1. что вызывает проблемы?
  2. Как бы я назвал env. переменные перед GCS?

Я перепробовал очень много методов, чтобы добиться этой цели, но ни один из них не помог. мне нужно законное решение

0 ответов

Другие вопросы по тегам