关于如何使用websocket 接收并显示图片或者操作二进制
2016-05-26 22:09
615 查看
JS操作websocket接收的二进制,安全性能有保障,已经过一年实践考验:
[javascript]
view plain
copy
ws.onmessage = function(evt) {
if(typeof(evt.data)=="string"){
textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var data = new Uint8Array(evt.target.result);
handler(data);
}
}
reader.readAsArrayBuffer(evt.data);
}
};
[html]
view plain
copy
function handler(data){
switch(data[0]){
case 1:
getCard(data[1]);
break;
...
JS操作websocket接收的图片,今天刚写的,也是用filereader实现。
[html]
view plain
copy
ws.onmessage = function(evt) {
if(typeof(evt.data)=="string"){
//textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var url = evt.target.result;
alert(url);
var img = document.getElementById("imgDiv");
img.innerHTML = "<img src = "+url+" />";
}
}
reader.readAsDataURL(evt.data);
}
};
[javascript]
view plain
copy
ws.onmessage = function(evt) {
if(typeof(evt.data)=="string"){
textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var data = new Uint8Array(evt.target.result);
handler(data);
}
}
reader.readAsArrayBuffer(evt.data);
}
};
[html]
view plain
copy
function handler(data){
switch(data[0]){
case 1:
getCard(data[1]);
break;
...
JS操作websocket接收的图片,今天刚写的,也是用filereader实现。
[html]
view plain
copy
ws.onmessage = function(evt) {
if(typeof(evt.data)=="string"){
//textHandler(JSON.parse(evt.data));
}else{
var reader = new FileReader();
reader.onload = function(evt){
if(evt.target.readyState == FileReader.DONE){
var url = evt.target.result;
alert(url);
var img = document.getElementById("imgDiv");
img.innerHTML = "<img src = "+url+" />";
}
}
reader.readAsDataURL(evt.data);
}
};
相关文章推荐
- 编程之美-数组除法
- Codeforces Round #354 (Div. 2) C Vasya and String(尺取法二分)
- 《Head First C#》学习 ---第二章总结
- iOS开发中使用平率很高的宏定义
- bash简单命令扩展
- DEDECMS之八 漏洞错误和疑难杂症
- 艾宾浩斯记忆曲线
- EndNote使用方法
- codeforces 297D Color the Carpet(构造)
- Codeforces Round #354 (Div. 2) B Pyramid of Glasses(模拟)
- 队列的基本实现
- JMS介绍【转载】
- 建造者模式以及php实现
- JDK的安装与配置
- linker command failed with exit code 1 (use -v to see invocation)报错
- Contiki协议栈Rime:头部转换模块chameleon-bitopt
- Relationship between two numbers【2】
- Relationship between two numbers【2】
- 在MAC系统里添加开机启动任务(但是怎么才能知道自己程序的固定位置呢?)
- Codeforces Round #354 (Div. 2) A Nicholas and Permutation