FileServer icon indicating copy to clipboard operation
FileServer copied to clipboard

websocket问题

Open gaipianer opened this issue 10 years ago • 4 comments

请问 为什么我在使用reader读取文件之后,调用send方法后,只是进入到onTextMessage方法中,而不是onBinaryMessage方法中,谢谢

gaipianer avatar Dec 04 '15 03:12 gaipianer

参考下这些代码。 reader = new FileReader(); reader.onload = handle_load_block; blob = file.slice(block.start, block.end); reader.readAsArrayBuffer(blob); worker.postMessage({ 'message': event.target.result, 'block': block });

CCLooMi avatar Dec 06 '15 04:12 CCLooMi

event.target.result中为 readAsArrayBuffer(blob);读取的文件字节码数组

CCLooMi avatar Dec 06 '15 04:12 CCLooMi

postMessage应该只是计算文件的hash值吧,并没有对文件的字节码进行什么包装,对吧?

reader = new FileReader(); reader.onload = handle_load_block; blob = file.slice(block.start, block.end); reader.readAsArrayBuffer(blob); handle_load_block:function(evt){ ws.send(evt.target.result); }

为什么我这样写就不能将数据以二进制的形式发送过去,而是字符串的形式,实在是想不通 暂时不需要研究文件切片和断点续传的问题,只想知道如何才能调用服务端的onBinaryMessage()方法 谢啦

gaipianer avatar Dec 07 '15 01:12 gaipianer

知道自己错在哪了,之前一直用的是readAsBinaryString方法,现在才发现,实在是不好意思

gaipianer avatar Dec 07 '15 03:12 gaipianer