我需要在单个Web套接字消息中发送带有blob数据的消息类型。
var socket = new WebSocket('ws://somedomain.com/data');
// just pseudocode
// I know that only DOMString|ArrayBuffer|Blob types are supported
socket.send({ type: 'someMessageType', data: someBlobData });
最好的方法是什么?首先想到的是使用JSON.stringify。但我认为它会大大增加消息长度。也许有更好的方法?
答案 0 :(得分:0)
您可以使用FileReader将blob转换为base64字符串。这是你在Dart中如何做到的。对不起,我不认识JS。
final FileReader reader = new FileReader();
reader.onLoadEnd.listen((e) {
print(reader.result);
socket.send({ type: 'someMessageType', data: reader.result });
});
reader.readAsDataUrl(file);