node读取文件然后socket传送到浏览器无法解码
发布于 12 小时前 作者 xivistudio 127 次浏览 来自 问答

node的FS直接读取了图片的源,我通过websocket传送到浏览器之后就蒙了,utf-8的数据,没办法还原到浏览器显示出来,请问各位大大有什么好办法没有 关于写入到缓冲区转成base64也是一样 这种方式只适合小文件 大文件明显不合适 如果用get 就还要开一个单独的http 不合算QQ图片20160704132212.png

4 回复

大文件…

自己做下分块, 例如 emit file-foo-data, data, 对重复取data, 然后在客户端进行拼接, 最后 emit file-foo-end, 处理拼接结果 ArrayBuffer 的话直接 concat 就好…

嗯, 一点想法, 不知道 socket.io 的包有木有顺序, 你自己可能需要进行编号什么的, 最后做下 sort, 处理

@magicdawn 额,其实 我想说的是,base64的数据在填充进DOM的一瞬间,浏览器会卡,因为一个常规的图片,数据集太大了,我也不明白,但是填充进去的一瞬间浏览器有一个性能的急剧下降,很严重

@xivistudio 哦…那样为毛不直接甩一个 url, 让浏览器慢慢下载

回到顶部