如何通过WebSocket发送图像base64编码? (近距离事件1006)

时间:2016-01-31 15:02:23

标签: javascript websocket base64

我正在尝试将文件发送到服务器。我有一个固定的消息格式,如下所示:

var msg = {
    'msgtype': <number>,
    //additional data specific to the msgtype
};

对于图像,它看起来像这样:

var msg = {
    'msgtype': 9,
    'id': 42, // to which group this image belongs to
    'blob': 'BASE 64 encoded image string'
};

阅读文件并发送时,它会崩溃。服务器不接收任何数据。发送这样的小文件时:Test image它有效。 在检查错误消息后,我找到了接近的原因:1006。

另一个想法是,直接发送二进制数据,但这会破坏我的消息架构。另外:我不知道如何将Web服务器上的二进制流分配给给定的id。采用这种方法的唯一解决方案是首先发送id并将其余部分视为数据。

编辑我用静态字符串测试了它。我可以在blob字符串中放入最多8153个字符。如果还有更多崩溃。

1 个答案:

答案 0 :(得分:1)

问题是邮件大小。我发现,我可以通过运行:

在服务器端(Java)设置它
session.setMaxTextMessageBufferSize(200000);