Estoy tratando de enviar texto y formData en una llamada de búsqueda a un backend de Node.js usando multer.
Puedo enviar formData por sí solo sin problemas, pero cuando intento agregar texto, la llamada a la API permanece "pendiente".
Aquí está mi llamada de búsqueda que funciona solo con formData:
const handleImage = async (e) => { var formData = new FormData(); let file = e.target.files[0]; formData.append("image", file); try { const upload = await fetch( `${process.env.NEXT_PUBLIC_SERVER_API}/uploadImage`, { method: "POST", body: formData, } ); } catch (e) { console.log("Something went wrong!"); } };Aquí está la misma llamada de búsqueda con texto agregado que no funciona:
const handleImage = async (e) => { var formData = new FormData(); let file = e.target.files[0]; formData.append("image", file); try { const upload = await fetch( `${process.env.NEXT_PUBLIC_SERVER_API}/uploadImage`, { method: "POST", body: {formData, userId} } ); } catch (e) { console.log("Something went wrong!"); } };Tampoco funciona si intento usar JSON.stringify().
Creo que no puede enviar un cuerpo formData y json al mismo tiempo (tal vez hay una manera que no sé) porque multer simplemente tomará el archivo de formdata y la otra propiedad se establecerá en req. cuerpo, por lo que si desea enviar un ID de usuario, puede intentarlo
const handleImage = async (e) => { var formData = new FormData(); let file = e.target.files[0]; formData.append("image", file); formData.append("userId", userId); try { const upload = await fetch( `${process.env.NEXT_PUBLIC_SERVER_API}/uploadImage`, { method: "POST", body: formData, } ); } catch (e) { console.log("Something went wrong!"); } };