我正在尝试在django上开发一个聊天应用程序,用于实时通信,我正在使用websockets。消息传递工作正常,但是我在处理文件时遇到麻烦,如果有人附加多个文件,那么如何发送和接收一些其他数据。
我设置了-chatSocket.binaryType = 'arraybuffer';
用于简单消息传递-
chatSocket.send(JSON.stringify(
{'id': next_id,
'message': message,
'karma' : karma.val(),
'cert': cert.attr('data'),
}
));
如果有人尝试发送多张图片,那么-
let files = document.getElementById("attach_img").files;
// files.item = '092'
console.log('files send requested',files);
chatSocket.send(files, { binary: true });
在我的Consumers.py
中async def receive(self, text_data=None, bytes_data=None):
print('recieved',bytes_data, text_data)
正在打印-recieved None [object FileList]
但是当我将文件更改为-
let files = document.getElementById("attach_img").files['0'];
然后收到的bytes_data
类似于-b'\xff\xd8\xff\xe0\x00\x10JFIF\.....
我想将图像+ ID +证书发送到服务器。
我在互联网上进行了大量搜索,但无法获得解决方案,如何通过websocket发送包含其他信息的文件。