client-side: < /p>
Изображение правильно читается и мгновенно отображается для отправителя после отправки. < /p>
Консоль. полезная нагрузка). < /p>
server-side: < /p>
Сервер не получает никакого сообщения «изображение сообщения» (нет консоль. Клиент.const imageInput = document.getElementById('imageInput');
const imageButton = document.getElementById('imageButton');
imageButton.addEventListener('click', () => imageInput.click());
imageInput.addEventListener('change', () => {
const file = imageInput.files[0];
if (!file) return;
const reader = new FileReader();
reader.onload = () => {
const dataUrl = reader.result; // "data:image/png;base64,AAAA..."
const payload = {
from: currentUserId,
to: currentPeerId,
data: dataUrl,
timestamp: Date.now()
};
appendMessage('Moi', '', payload.timestamp, null, true, null, dataUrl);
socket.emit('message image', payload);
};
reader.readAsDataURL(file);
imageInput.value = '';
});
socket.on('message image', (msg) => {
console.log("
});
< /code>
Журналы на стороне клиента: < /p>
Операторы Console.log на стороне клиента появляются правильно, указывая на то, что изображение, кажется, успешно отправлено.socket.on('message image', (msg) => {
console.log(" Message image reçu sur le serveur :", msg);
const { from, to, data, timestamp } = msg;
const sqlUsers = `
SELECT u1.pseudo AS sender_name, u1.phone AS sender_number,
u2.pseudo AS recipient_name, u2.phone AS recipient_number
FROM users_annonces u1, users_annonces u2
WHERE u1.id = ? AND u2.id = ?
`;
db.query(sqlUsers, [from, to], (err, res) => {
if (err || !res.length) return;
db.query(
'INSERT INTO messages (sender_id, recipient_id, image_path, timestamp, type) VALUES (?, ?, ?, ?, ?)',
[from, to, data, timestamp, 'image'],
(insertErr, result) => {
if (insertErr) {
console.error(" Erreur SQL INSERT image :", insertErr);
return;
}
console.log(" IMAGE insérée, ID =", result.insertId);
const enriched = {
from, to,
from_name: res[0].sender_name,
from_number: res[0].sender_number,
to_name: res[0].recipient_name,
to_number: res[0].recipient_number,
imagePath: data, timestamp
};
const sockId = userSockets[to];
if (sockId) {
console.log("
io.to(sockId).emit('message image', enriched);
} else {
console.warn("
}
}
);
});
});
< /code>
встречается проблема < /p>
Проблема: < /p>
no console.log с сервера появляется, когда клиент отправляет изображение. Сервером, хотя клиент издает его правильно? Может ли это быть проблемой с Socket.io, клиентской эмиссией или конфигурацией сервера? < /P>
Заранее спасибо за вашу помощь!
Подробнее здесь: https://stackoverflow.com/questions/796 ... ode-js-and