1.9 KiB
1.9 KiB
✅ Problema del Error 500 Corregido
🐛 Causa del Error:
Al pegar una imagen desde el portapapeles y enviarla, las peticiones fetch a los endpoints de API NO estaban enviando las cookies de sesión, causando que:
upload_media.phprechazara la petición → Error 401- Nginx devolviera error 500 por fallo en PHP
🔧 Solución Aplicada:
Agregué credentials: 'same-origin' a ambos fetch en sendMediaMessage():
// 1. Upload del archivo
const uploadResponse = await fetch('api/upload_media.php', {
method: 'POST',
credentials: 'same-origin', // ✅ Enviar cookies de sesión
body: formData
});
// 2. Envío del mensaje
const sendResponse = await fetch('api/send_media_message.php', {
method: 'POST',
credentials: 'same-origin', // ✅ Enviar cookies de sesión
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({...})
});
📋 Cómo Funciona Ahora:
- Copias una imagen (Ctrl+C o Cmd+C)
- Haces click en el input de mensaje
- Pegas (Ctrl+V o Cmd+V)
- ✅ Aparece el preview de la imagen
- ✅ Haces click en "Enviar"
- ✅ Se sube el archivo con autenticación correcta
- ✅ Se envía por WhatsApp
- ✅ Aparece en la conversación
🧪 Probar Ahora:
- Recarga la página: http://localhost:8080/conversations.php
- Abre una conversación
- Copia una imagen desde cualquier lugar
- Haz click en el input de texto
- Presiona Ctrl+V (o Cmd+V en Mac)
- Debe aparecer el preview sin errores
- Haz click en enviar
- Debe enviarse correctamente
📝 Nota Técnica:
Por defecto, fetch() NO envía cookies a menos que especifiques:
credentials: 'same-origin'→ Envía cookies al mismo dominiocredentials: 'include'→ Envía cookies incluso en CORS
El endpoint upload_media.php usa requireAuthentication() que verifica la sesión en cookies, por eso fallaba antes.