Cloudinary Module for Nest framework
Description
This's a nest-cloudinary module for Nest.
This quickstart guide will show you how to install the client SDK and execute an example JavaScript program. For a complete list of APIs and examples, please take a look at the JavaScript Client API Reference documentation.
This document assumes that you have a working nodejs setup in place.
Installation
$ npm i --save nestjs-cloudinary
Initialize cloudinary Client
Provide the credentials for cloudinary module by importing it. More options can be passed as per the cloudinary documentation.
import { Module } from '@nestjs/common';
import { CloudinaryModule } from 'nestjs-cloudinary';
@Module({
imports: [
CloudinaryModule.forRootAsync({
imports: [NestConfigModule],
useFactory: (configService: ConfigService) => ({
isGlobal: true,
cloud_name: configService.get('cloudinary.cloudName'),
api_key: configService.get('cloudinary.apiKey'),
api_secret: configService.get('cloudinary.apiSecret'),
}),
inject: [ConfigService],
}),
],
})
export class NestCloudinaryClientModule {}
Then you can use it in the controller or service by injecting it in the controller as:
import { CloudinaryService } from 'nestjs-cloudinary';
constructor(private readonly cloudinaryService: CloudinaryService ) {}
Quick Start Example - File Uploader
This example program connects to cloudinary storage server then uploads a file.
import { Controller, Get, Inject } from '@nestjs/common';
import { CloudinaryService } from 'nestjs-cloudinary';
@Controller()
export class NestCloudinaryClientController {
constructor(private readonly cloudinaryService: CloudinaryService) {}
@Post('upload')
@UseInterceptors(FileInterceptor('file'))
async uploadFile(@UploadedFile() file: Express.Multer.File) {
return this.cloudinaryService.upload(file);
}
}