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. В основном я получаю неопределенную проблему.
Итак, мой вопрос
- что вызывает проблемы?
- Как бы я назвал env. переменные перед GCS?
Я перепробовал очень много методов, чтобы добиться этой цели, но ни один из них не помог. мне нужно законное решение