我有聊天应用程序,它具有可以与您发送图像的功能,但是我发现它不能连续两次发送两个图像,但是您可以像这样发送两次相同的图像
-发送图片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});
怎么了?我该怎么解决
答案 0 :(得分:1)
这是因为如果两次选择相同的文件,fileselect
元素不会刷新,因此不会触发“ change”事件。这里的解决方案:How to detect input type=file "change" for the same file?