Files
whatsapp/FIX_PASTE_IMAGE_500.md
T
2026-01-28 02:23:36 -05:00

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:

  1. upload_media.php rechazara la petición → Error 401
  2. 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:

  1. Copias una imagen (Ctrl+C o Cmd+C)
  2. Haces click en el input de mensaje
  3. Pegas (Ctrl+V o Cmd+V)
  4. Aparece el preview de la imagen
  5. Haces click en "Enviar"
  6. Se sube el archivo con autenticación correcta
  7. Se envía por WhatsApp
  8. Aparece en la conversación

🧪 Probar Ahora:

  1. Recarga la página: http://localhost:8080/conversations.php
  2. Abre una conversación
  3. Copia una imagen desde cualquier lugar
  4. Haz click en el input de texto
  5. Presiona Ctrl+V (o Cmd+V en Mac)
  6. Debe aparecer el preview sin errores
  7. Haz click en enviar
  8. 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 dominio
  • credentials: '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.