您的位置:首页 > 其它

WebSocket发送图片或文件的思路(2)

2017-12-19 14:08 204 查看
前段时间,写了一篇关于WebSocket发送图片或文件的思路的文章,主要是记录我在开发过程中的思想和一些问题考虑,这次我是关于一些大文件或者大图不压缩的情况下,如何传输的思路。

1、首先大图或者大的文件肯定是分段发送,然后到服务端统一处理,websocket的web端我建议是直接获取服务器端生成的图片地址,这样可以减少传输的字节,节省流量,也防止用户刷新,导致重新获取的许多问题;

2、分段发送的时候,加一个唯一性数据标识,用js生成Guid。示例代码如下。

function
generateUUID() {

var
d =
new
Date().getTime();

var
uuid =
'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'
.replace(/[xy]/g,
function
(c) {

var
r = (d + Math.random()*16)%16 | 0;

d =Math.floor(d/16);

return
(c==
'x'
? r : (r&0x3|0x8)).toString(16);

});

return
uuid;

};

3、当服务端收到分段的数据,当接受到最后一段的时候,把所有的标识一样的数据,全部设置为已经接受完成,然后再执行图片生成处理。具体如何实现,可以用缓存服务器或者用数据库,然后使用触发器去实现。


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: