簡體   English   中英

如何發送通過WebSocket編碼的base64圖像? (獲取關閉事件1006)

[英]How to send images base64 encoded via WebSocket? (Getting close event 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'
};

讀取並發送文件時,它會崩潰。 服務器未收到任何數據。 發送這樣的小文件時: 測試圖片 有用。 檢查錯誤消息后,我找到了關閉原因:1006。

另一個想法是直接發送二進制數據,但這會破壞我的消息模式。 另外:我不知道如何將Web服務器上的二進制流分配給給定的ID。 使用此方法的唯一解決方案是先發送ID,然后將其余ID視為數據。

編輯:我測試了一個靜態字符串。 我最多可以在Blob字符串中輸入8153個字符。 如果還有更多,它會崩潰。

問題是郵件大小。 我發現,可以通過運行以下命令在服務器端(Java)上進行設置:

session.setMaxTextMessageBufferSize(200000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM