Node 获取微信小程序二维码文件流前端展示乱码
发布于 6 年前 作者 fangxiulan 621 次浏览 来自 问答

返回文件流无法小程序展示乱码,请官方工程师大神帮忙看看

7 回复

‘Content-Type’: ‘Content-type: image/jpg’

我试过不行苏晓光 

请问解决了吗?@楼主,

我也是用nodejs开发,同样返回乱码,不管是utf8或者gbk解码在保存图片都不行。

可以把接口返回的小程序二维码文件流转换成base64格式(base64.b64encode(res.body)),然后加上头信息"data:image/jpeg;base64,", 传给前端图片的src。

楼主,怎么解决的?

这个问题怎么解决的?我也遇到了同样的问题

下面的代码可以保存生成的二维码图片,但打不开,不论是jpg,png,jpeg都不行

const createCodeBar = co(function* (){

const postRequest = promisify(request.post, { multiArgs: true,'json': true });

let token = 'h3-Oda1A05Nit6EEZEkFqvgemQPCpRj1rmwYCp3puMahUH_a4rMXbYlS2NoMsjYiVhci0uDbe-VNlQAui1Ljp-fyFi8PqrGYZEsUMA0G88xmob-fheZ2c_85Jw8tnMx-NFSbAHACUH';
console.log('token:' + token);
let form = {
'path':'page/bookflow/pages/sharegroup/sharegroup?groupId=279&introducer=1686&fromBarcode=true'
   }
form = JSON.stringify(form);
console.log(form);
let result= yield postRequest({url:'https://api.weixin.qq.com/wxa/getwxacode?access_token=' + token,form:form});

fs.writeFile('d:/mybar.png', result[0].body, function(err) {
if (err) {
console.log('出现错误!')
}
});
console.log('result:' + result[1]);

})

获取后,直接通过流上传到七牛之类的云端存储服务,获取Key后再前端显示。

Content-Type 设置图片

回到顶部