小程序太阳码 B接口有时返回的图片二进制流数据不完整导致前端图片显示失败
- 当前 Bug 的表现(可附上截图)
通过小程序二维码接口B,有时可以拿到小程序二维码,有时拿不到。具体是当无法显示二维码时我发现微信返回给我的流文件大小只有109字节,应该是流文件不完整。
- 预期表现
凌晨时查询二维码几乎每次都能成功显示,白天查询很容易问题重现。
- 复现路径
只要在白天调用B接口就容易重现。
- 提供一个最简复现 Demo
我后端使用了nodejs,相关代码如下:
let data = { scene: theStudent._id.toString() }; request({ method: 'POST' , uri: `https: //api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${accessToken}`, json: true , body: data }) .pipe(fs.createWriteStream(filePath))
}) .on( 'error' , (reason) => { log.error(`miniUtil->getMiniQrCode__ FAILED 1. Reason = ${JSON.stringify(reason)}`); reject(reason); }); |
这个问题困扰我很久了,以前以为是request的pipe方法用的不对,网上搜了很多文章发现上面代码里pipe用法是正确的,所以现在开始怀疑是微信返回的流文件不完整了,希望官方技术支持能看一下,谢谢啦。