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

58 lines
1.9 KiB
Markdown

## ✅ 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()`:
```javascript
// 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.