import { defineEventHandler, readMultipartFormData } from "h3"; import { promises as fs } from "fs"; import sharp from "sharp"; export default defineEventHandler(async (event) => { const files = await readMultipartFormData(event); if (!files || files.length === 0) { return { error: "No files uploaded" }; } const uploadedFile = files[0]; const fileName = `cropped-${Date.now()}.png`; const filePath = `./public/uploads/${fileName}`; // Save the cropped image await fs.writeFile(filePath, uploadedFile.data); // Optionally resize the image const resizedFilePath = `./public/uploads/resized-${fileName}`; await sharp(uploadedFile.data) .resize(300, 300) // Adjust dimensions as needed .toFile(resizedFilePath); return { message: "File uploaded successfully", originalFile: `/uploads/${fileName}`, resizedFile: `/uploads/resized-${fileName}`, }; });