Spaces:
Paused
Paused
File size: 826 Bytes
07441a7 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | // src/cloudinary/cloudinary.service.ts
import { Injectable, Inject } from '@nestjs/common';
import { v2 as cloudinary } from 'cloudinary';
import { Readable } from 'stream';
@Injectable()
export class CloudinaryService {
constructor(@Inject('Cloudinary') private cloudinary: any) {}
async uploadImage(file: Express.Multer.File): Promise<string> {
return new Promise((resolve, reject) => {
const uploadStream = this.cloudinary.uploader.upload_stream(
{ resource_type: 'auto' },
(error, result) => {
if (error) {
return reject(error);
}
resolve(result.secure_url);
},
);
const stream = new Readable();
stream.push(file.buffer);
stream.push(null);
stream.pipe(uploadStream);
});
}
}
|