swoole服务器返回二进制文件,websocket获取并下载

参考资料

Blob的增强版-FileReaderFileReader的官网

心得

虽然浪费了我一周的时间。但 学到了的知识点颇丰:

  • 二进制传输
  • 二进制编码读、写、操作、下载
  • 二进制编码转化
  • 二进制编码转化成text形式的与file_get_contents()的读取结果相同
    read​AsText(, “utf8”)
  • 二进制文件的base64编码用javascript实现base64编码器以及图片的base64编码
  • 以太网帧类型 以太网帧类型总结
  • URL资源是文件存储的一种方式
    例如:图片:是这个样子:Request URL: data:application/octet-stream;base64,<加内容…>
  • 文件的上传下载并不简单(我们平时用的普通HTTP, websocket向自定义的服务器上传【是个很复杂的封装过程】,等多种形式)

重点

1、二进制文件共同点:

  • 打开都是显示数字
  • 二进制文件用二进制传输,传输的内容都是一样(一堆不能辨识的乱码)

2、二进制文件的获取(用js实现)

  • 转化方式:使用readFile类的read​AsArray​Buffer() read​AsBinary​String() readAsDataURL() read​AsText()四种方法
  • 转化结果:四种方法都是讲二进制内容转化成“其他格式”,根据使用场景的不是选择不同的“其他格式”。
  • 转化前的格式在哪里能看到:websocket协议的信息交换流程中可以看到。
  • 转化后怎么使用:以readAsDataURL()为例:转化结果是:URL资源,可以放在HTML的src(用于预览)、href(用于下载)属性里面,配合HTML的a标签、download属性下载二进制文件。

图片解释(增加一点信息)

swoole服务器返回二进制文件,websocket获取并下载_第1张图片

你可能感兴趣的:(网络编程)