- 需求的场景描述(希望解决的问题)
getWXACodeUnlimit接口从微信后台获取到了小程序码的二进制流。
如何用 获得的小程序码二进制流 生成 可见的小程序图片?
试过file.writeFile() 生成的文件,不能用图片编辑器查看
- 希望提供的能力
++++++++++++++++++++++++++++++ 分割线 +++++++++++++++++++++++++++++++
最后还是没有解决,我是用了第三方的后台,直接生成的
框架类型 | 问题类型 | API/组件名称 | 终端类型 | 微信版本 | 基础库版本 |
---|---|---|---|---|---|
小游戏 | 需求 | getWXACodeUnlimit | 工具 | 6.7.2 | 2.4.0 |
5 个回答
目前在小程序内部生成的无法查看,可以在服务器端用 nodejs 或者 php 等后台语言把二进制流保存图片文件后,返回图片地址到小程序展示或者保存
就是不知道 nodejs 如何将 二进制流保存成图片文件?
fs.writeFile?
fs.writeFile我一直可以的。但是生成的图片不能查看。大概是有些细节的问题,不知道怎么处理,文档也没查到
来官方大佬给他写个
你这个名字看起来吓到了。
var
img = wx.arrayBufferToBase64(res.data.data)
that.setData({
qrcode:
'data:image/jpg;base64,'
+img,
})
通过arrayBufferToBase64 将流转化成base64,然后将base64显示出来就可以,这里的qrcode就是图片的地址
这个接口官方已经废弃了
请求回来的数据自动编码了,设置encoding : null就行,详见:https://segmentfault.com/a/1190000002787763
我晚点去试下
还写了一个博客,https://blog.csdn.net/uikoo9/article/details/86088028
官方是否可以提供一个生成好图片的零时URL(1小时有效)
我们这里使用的后端语言为PHP,在获取到文件流后,生成一个新的图片,使用fopen函数打开,再使用fwrite函数将文件流写入,最后使用fclose函数关闭操作,最终会在服务器上生成一个二维码图片。