我正在尝试将文件发送到服务器。我有一个固定的消息格式,如下所示:
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'
};
阅读文件并发送时,它会崩溃。服务器不接收任何数据。发送这样的小文件时:它有效。
在检查错误消息后,我找到了接近的原因:1006。
另一个想法是,直接发送二进制数据,但这会破坏我的消息架构。另外:我不知道如何将Web服务器上的二进制流分配给给定的id。采用这种方法的唯一解决方案是首先发送id并将其余部分视为数据。
编辑我用静态字符串测试了它。我可以在blob字符串中放入最多8153个字符。如果还有更多崩溃。
答案 0 :(得分:1)
问题是邮件大小。我发现,我可以通过运行:
在服务器端(Java)设置它session.setMaxTextMessageBufferSize(200000);