API request keeps failing
Opened this issue · 0 comments
almirchowdhury commented
here is my backend:
import express from 'express';
import multer from 'multer';
import { removeBackground } from '@imgly/background-removal-node';
const router = express.Router();
const upload = multer({ storage: multer.memoryStorage() });
router.post('/remove-background', upload.single('image'), async (req, res) => {
try {
const imageBuffer = req.file.buffer;
const blob = await removeBackground(imageBuffer);
const buffer = Buffer.from(await blob.arrayBuffer());
const dataURL = `data:image/png;base64,${buffer.toString("base64")}`;
res.json({ imageUrl: dataURL });
} catch (error) {
res.status(500).json({ error: 'Failed to remove background', message: error.message });
}
});
export default router;
FE Implentation:
const handleRemoveBackground = async () => {
if (!imageFile) {
console.error('No image file available for background removal.');
return;
}
setLoading(true);
const formData = new FormData();
formData.append('image', imageFile);
try {
const response = await fetch('http://localhost:8080/api/v1/background/remove-background', {
method: 'POST',
body: formData
});
if (!response.ok) {
throw new Error('Network response was not ok');
}
const data = await response.json();
setImageSrc(data.imageUrl);
} catch (error) {
console.error('Error removing background:', error);
} finally {
setLoading(false);
}
};
keep getting internal server error plz help