通过websocket发送和接收文件以及其他信息

时间:2019-07-19 05:48:50

标签: django sockets http tcp websocket

我正在尝试在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发送包含其他信息的文件。

0 个答案:

没有答案