位置:首页 > web前端 > vue

websoket如何传blob对象

dearweb 发布:2023-03-28 16:59:06阅读:

要通过WebSocket传递Blob,需要在发送方将Blob转换为ArrayBuffer,然后在接收方将ArrayBuffer转换回Blob。


在发送方,可以使用FileReader API将Blob转换为ArrayBuffer,示例代码如下:


// 创建WebSocket连接
const ws = new WebSocket('ws://example.com');

// 读取Blob并转换为ArrayBuffer
const fileReader = new FileReader();
fileReader.onload = function() {
  const arrayBuffer = this.result;
  // 发送ArrayBuffer
  ws.send(arrayBuffer);
};
fileReader.readAsArrayBuffer(blob);


在接收方,可以使用Blob构造器将ArrayBuffer转换为Blob,示例代码如下:

// 创建WebSocket连接
const ws = new WebSocket('ws://example.com');

// 接收ArrayBuffer
ws.onmessage = function(event) {
  const arrayBuffer = event.data;

  // 转换为Blob
  const blob = new Blob([arrayBuffer], { type: 'application/octet-stream' });

  // 处理Blob
  // ...
};


注意,由于WebSocket API只支持文本和ArrayBuffer类型,因此需要将Blob转换为ArrayBuffer进行传输。


24人点赞 返回栏目 提问 分享一波

小礼物走一波,支持作者

还没有人赞赏,支持一波吧

留言(问题紧急可添加微信 xxl18963067593) 评论仅代表网友个人 留言列表

暂无留言,快来抢沙发吧!

本刊热文
网友在读
手机扫码查看 手机扫码查看