nodejs返回arraybuffer给客户端的问题

发布于 2022-09-03 12:51:20 字数 982 浏览 15 评论 0

我想通过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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

浅黛梨妆こ 2022-09-10 12:51:20

JS 的 ArrayBuffer 兼容性很差。
你改写成 xhr.responseType = "blob"; 试一下。
这个不敢保证有效。

温馨耳语 2022-09-10 12:51:20

wwwlwjefjasesfljawlfjlakwfjhkawezjsfiljafvlkijsdilkjaslfjcnkawfjciawfcoiajwoifvhnhaweonhf

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文