up
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
## ✅ 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.
|
||||
Reference in New Issue
Block a user