nodejs返回arraybuffer给客户端的问题
我想通过node返回arraybuffer给客户端,但是遇到了问题:
server.js:
res.write(new Buffer([0,1,2]));
res.writeHead(200,{'Access-Control-Allow-Origin':'*','Access-Control-Allow-Method':'GET,POST','Content-Type':'application/octet-stream'});
res.end();
客户端代码:
var xhr = new XMLHttpRequest();
xhr.responseType = "arraybuffer";
xhr.open("post","http://localhost:8008/");
xhr.onload = function(data){
if(xhr.status === 200){
console.log('succuess');
var blo = new Blob(this.response);
var reader = new FileReader();
reader.readAsBinaryString(blo);
reader.onload = function(f){
console.log(this.result);
}
}
}
但是chrome控制台并没有打印结果,而是输出错误:
POST http://localhost:8008/ net::ERR_INVALID_CHUNKED_ENCODING
请问这是怎么回事呢,谢谢aaa
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
JS 的 ArrayBuffer 兼容性很差。
你改写成
xhr.responseType = "blob";
试一下。这个不敢保证有效。
wwwlwjefjasesfljawlfjlakwfjhkawezjsfiljafvlkijsdilkjaslfjcnkawfjciawfcoiajwoifvhnhaweonhf