Files
mugladijitalmedya/lib/cloudinary.ts

36 lines
1005 B
TypeScript

import { v2 as cloudinary } from 'cloudinary';
// Configure Cloudinary
cloudinary.config({
cloud_name: process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME,
api_key: process.env.CLOUDINARY_API_KEY,
api_secret: process.env.CLOUDINARY_API_SECRET,
secure: true,
});
export default cloudinary;
/**
* Uploads a file buffer or base64 to Cloudinary
*/
export async function uploadToCloudinary(file: File, folder: string = 'partners'): Promise<string> {
const arrayBuffer = await file.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);
return new Promise((resolve, reject) => {
cloudinary.uploader.upload_stream(
{
folder: `mugladijital/${folder}`,
resource_type: 'auto',
},
(error, result) => {
if (error) {
reject(error);
} else {
resolve(result?.secure_url || '');
}
}
).end(buffer);
});
}