微信小程序的小游戏开发辅助发送arraybuffer不成功
发布于 4 年前 作者 pingcao 1179 次浏览 来自 问答

var requestURL = extraUrl + path;

cc.log(“RequestURL:” + requestURL);//打印:RequestURL:http://192.168.0.194:9000/get_serverinfo

cc.log(“senddddddat=”+data);//打印:project.3e25c.js? [sm]:1 senddddddat=[object ArrayBuffer]

var uint8buffer = new Uint8Array(data);

cc.log(“sendddddd2at=”+uint8buffer);//打印:project.3e25c.js? [sm]:1 sendddddd2at=8,232,7,18,10,83,104,97,119,110,90,104,97,110,103

wx.request({

url: requestURL, //仅为示例,并非真实的接口地址

data: data,

method:‘POST’,

dataType: ‘ArrayBuffer’,

header: {

‘content-type’: ‘application/octet-stream’, // 默认值

‘accept’: ‘application/octet-stream’ // 默认值

},

success: function(res) {

console.log(res.data)

},

fail:function(res){

console.log(“fail”)

}

})

我微信小程序客户端这样发

然后我的node.js服务端这样收:

var app = express();

app.post(’/get_serverinfo’, function (req, res) {

// req.rawBody = ‘’;//添加接收变量

// var json={};

// req.setEncoding(‘utf8’);

req.on(‘data’, function(chunk) {

console.log(“procfesss11=”+chunk);//这里打印:procfesss11={}

console.log(“eneneneenenne=”);

});

req.on(‘end’, function() {

var ret = {

version:config.VERSION,

hall:hallAddr,

appweb:config.APP_WEB,

};

console.log(“aaaaaaaaaaaaaabbbbb22bb11b=”+ret);

// … do something with message

send(res,ret);

});

});

注意上面红字部分,在前天也就是2月7日和之前的时候,微信小程序的小游戏开发辅助里面预览 chunk还是收到这样的字符:

procfesss11�

ShawnZhang

这是没问题的。而且我再pc浏览器,微信浏览器,手机浏览器,微信的微信开发者工具的模拟器运行上面再上面的客户端代码(注:浏览器运行的是另外的用xmlhttprequest发的代码,这代码用在微信小程序的小游戏开发辅助里面服务器收到的也是一样的结果“procfesss11={}),上面的服务器代码的chunk变量都是一直返回正确的字符:

procfesss11�

ShawnZhang

但是昨天2月8日到今天,用微信小程序的小游戏开发辅助里面预览,我的nodejs服务器chunk就只是打印出procfesss11={},也就是收不到客户端发的arraybuffer数据

这是微信小程序的小游戏开发辅助昨天偷偷更新了?还是有什么其他解决方法,可以让微信小程序的小游戏开发辅助的预览能够正确发送arraybuffer数据

3 回复

请问楼主,我这样写 收到的 res.data 是一个string 不是 arrraybuffer。 是要怎么转一下? 求正确姿势。

你好,问题已复现,我们会尽快进行修复。

赞一个,办事效率很高

回到顶部