cloudinary serverside images

This commit is contained in:
matthieu42morin 2024-04-28 01:15:59 +02:00
parent e49c5001c2
commit fd3084fef7
1 changed files with 33 additions and 0 deletions

33
src/lib/utils/images.ts Normal file
View File

@ -0,0 +1,33 @@
import { v2 as cloudinary } from 'cloudinary';
import { PUBLIC_CLOUDINARY_NAME } from '$env/static/public';
import { CLOUDINARY_API_KEY, CLOUDINARY_API_SECRET } from '$env/static/private';
cloudinary.config({
cloud_name: PUBLIC_CLOUDINARY_NAME,
api_key: CLOUDINARY_API_KEY,
api_secret: CLOUDINARY_API_SECRET
});
type ImageTransformationOptions = {
width?: number;
height?: number;
crop?: string;
format?: string;
quality?: string | number;
[key: string]: string;
};
export function getImageUrl(publicId: string, options: ImageTransformationOptions = {}): string {
return cloudinary.url(publicId, {
...options,
crop: options.crop || 'fill',
format: options.format || 'auto',
quality: options.quality || 'auto'
});
}
export const getImagePublicId = (imageKey: string) => {
return images[imageKey] || '';
};
export default cloudinary;