#node.js #nestjs #minio
Вопрос:
Это мой мини-клиент.сервис:
@Injectable()
export class MinioClientService {
private readonly logger = new Logger(MinioClientService.name);
private readonly defaultBucketName = 'default';
constructor(private minio: Minio.Client) {}
async upload(
file: Express.Multer.File,
bucketName: string = this.defaultBucketName,
) {
// some code amp; logic
}
}
Я импортировал вышеуказанную службу в моих администраторах.:
@Injectable()
export class AdminsService {
constructor(
@InjectRepository(AdminsRepository)
// this line 👇
private minioClientService: MinioClientService,
private adminsRepository: AdminsRepository,
) {}
async update(file) {
if (file) {
// error happens here 👇
const uploadedImage = await this.minioClientService.upload(file);
console.log(uploadedImage);
}
}
Я также импортировал minio-client.module в admins.moudle, и при запуске приложения ошибки нет. Ошибка возникает при вызове этого метода обновления.
Ответ №1:
Ваш @InjectRepository()
декоратор оказался не в том месте. Этот декоратор теперь говорит Nest ввести AdminsRepository
параметр , который должен быть MinioClientService
, но это выходит за рамки того, что может прочитать машинопись. Вместо этого используйте это для своего конструктора
constructor(
// this line 👇
private minioClientService: MinioClientService,
@InjectRepository(AdminsRepository)
private adminsRepository: AdminsRepository,
) {}
И это должно работать просто отлично.