2016-01-31 80 views
0

我正在嘗試將文件發送到服務器。我有一個固定的消息格式如下:如何通過WebSocket發送圖像base64編碼? (關閉事件1006)

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

問題在於郵件大小。我發現,我可以通過運行將它設置在服務器端(Java):

session.setMaxTextMessageBufferSize(200000); 
相關問題