у меня есть приложение для чата, и в нем есть функция, с помощью которой вы можете отправлять изображения, но теперь я обнаружил, что оно не может отправлять два изображения два раза подряд, но вы можете отправлять одни и те же изображения два раза, как это
-отправить изображение 1
-отправить изображение 2
-отправить изображение 1
у меня также есть функция, которую вы можете вставлять изображения и отправлять с помощью (буфер обмена), и он может отправлять изображения последовательно, поэтому я запутался, что вызывает это? вот мой код:
Сторона клиента:
document.getElementById('fileselect').addEventListener('change', function () {
if (this.files.length != 0) {
var file = this.files[0],
reader = new FileReader();
reader.onload = function (e) {
this.value = '';
socket.emit('img', {
image: e.target.result
})
};
reader.readAsDataURL(file);
};
}, false);
и на стороне сервера
socket.on('img', function(data) {
io.in(socket.current_room).emit('img', {image: data.image, id: socket.id});
Что случилось? Что, как я могу это исправить
Вы можете опубликовать это как ответ?
Да, конечно :)
Это связано с тем, что элемент fileselect
не обновляется, если вы выбираете один и тот же файл дважды, поэтому событие «изменить» не срабатывает. Решение здесь: Как определить тип ввода = файл «изменить» для того же файла?
Это связано с тем, что элемент
fileselect
не обновляется, если вы выбираете один и тот же файл дважды, поэтому событие"change"
не запускается. Решение здесь