generated from corrad-software/corrad-af-2024
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
import { readMultipartFormData } from 'h3';
|
|
|
|
export default defineEventHandler(async (event) => {
|
|
try {
|
|
const parts = await readMultipartFormData(event, { maxSize: 10 * 1024 * 1024 }); // 10MB limit
|
|
|
|
if (!parts) {
|
|
return {
|
|
status: 400,
|
|
message: "No form data received"
|
|
};
|
|
}
|
|
|
|
// Extract form data
|
|
const name = parts.find(p => p.name === 'name')?.data.toString() || '';
|
|
const animal = parts.find(p => p.name === 'animal')?.data.toString() || '';
|
|
const file = parts.find(p => p.name === 'file');
|
|
|
|
// Log the received data
|
|
console.log('Received name:', name);
|
|
console.log('Received favorite animal:', animal);
|
|
if (file) {
|
|
console.log('Received file:', file.filename);
|
|
}
|
|
|
|
// Prepare response message
|
|
let message = `You are ${name} and your favorite animal is ${animal}`;
|
|
if (file) {
|
|
message += `. You uploaded the file: ${file.filename}`;
|
|
}
|
|
|
|
return {
|
|
status: 200,
|
|
message
|
|
};
|
|
} catch (error) {
|
|
console.error("Error processing request:", error);
|
|
return {
|
|
status: 500,
|
|
message: "Error processing request",
|
|
error: error.message
|
|
};
|
|
}
|
|
}); |