Re: [问题] base64

楼主: visa9527 (高级伴读士官长)   2017-08-31 10:05:50
之前刚好做过类似的东西,当时的流程大概是这样
1.文字讯息定义特殊的开头,收到时代表接下来会接收一段 base64 字串
比如以 :!json=> {"type":"img","arrayLength":"30", "id":"abc"} 来定义
收到 !json=> 开头的讯息时就不显示而是跑进别的 function 做处理
它定义接下来会接受一段 img 的 base64
会切成 30 段长度,这张 img 的 id 叫做 abc
2.用 File API 从客户端读入本机图片后转成 base64 字串
按照你每封讯息的长度限制去切文字,最后可能变成一个长度 30 的阵列
3.用特殊开头来传,除了第一段写的部分外,再另外加上
"index": 1, //数字,该文字是阵列的第几个
"data": "8D2VcX9f......." //被拆开来的 base64 字串
收到时你会知道有一个 img 长度会有 30 笔,图片 id 叫 abc
现在是收第 index 段的 data
然后不论先送出的讯息是否先收到,总之最后就会收到 30 个讯息
确认阵列长度 30 都填满后就可以把它 join 起来,变成原本的 base64 字串

Links booklink

Contact Us: admin [ a t ] ucptt.com