看网上nodejs都是通过转为base64然后让前端处理,没有后端直接生成的版本所以发布一版express+axios+直接返回文件版本
router.get("/getQRcode", async(req, res) => {
try {
let resp=await httpClient.request({
url:'https://api.weixin.qq.com/wxa/getwxacodeunlimit',
method:'POST',
params:{
access_token:accessToken,
},
responseType:'stream',
data:{
check_path:false,
page:'pages/my/index',
scene:'desk=101'
}
})
let filePath=path.join(process.cwd(),'public/files/qr.png')
let ws=fs.createWriteStream(filePath)
resp.data.pipe(ws)
ws.on('finish', () => {
res.download(filePath, 'qr.png')
});
} catch (error) {
res.send({ status: 1, data: error});
}
});
本文介绍了如何在Node.js后端中使用Express和axios库,直接从微信API获取二维码数据,并将其作为文件流发送给前端,避免了Base64转换,提高了效率。
700

被折叠的 条评论
为什么被折叠?



