收藏
回答

小程序码二进制流如何生成二维码图片?

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小游戏 需求 getWXACodeUnlimit 工具 6.7.2 2.4.0

- 需求的场景描述(希望解决的问题)

getWXACodeUnlimit接口从微信后台获取到了小程序码的二进制流。

如何用 获得的小程序码二进制流 生成 可见的小程序图片?


试过file.writeFile() 生成的文件,不能用图片编辑器查看


- 希望提供的能力


++++++++++++++++++++++++++++++ 分割线 +++++++++++++++++++++++++++++++

最后还是没有解决,我是用了第三方的后台,直接生成的


最后一次编辑于  2019-01-08
回答关注问题邀请回答
收藏

5 个回答

  • 范笑春
    范笑春
    2018-12-19

    官方是否可以提供一个生成好图片的零时URL(1小时有效)

    2018-12-19
    赞同 3
    回复
  • 周凡
    周凡
    2019-01-23

    var img = wx.arrayBufferToBase64(res.data.data)


    that.setData({

      qrcode: 'data:image/jpg;base64,'+img,

    })



    通过arrayBufferToBase64 将流转化成base64,然后将base64显示出来就可以,这里的qrcode就是图片的地址


    2019-01-23
    赞同 2
    回复 6
    • Damon
      Damon
      2019-04-26

      这个接口官方已经废弃了

      2019-04-26
      回复
    • 柿子
      柿子
      2019-07-23
      我也是这样写的 把qrcode渲染到页面为何手机识别不了这是一个小程序码呢
      2019-07-23
      回复
    • 柿子
      柿子
      2019-07-23
      哥 请赐教
      2019-07-23
      回复
    • 韦不吕🙈🙉🙊
      韦不吕🙈🙉🙊
      2019-12-18
      上面这个qrcode的确可以渲染出来的。请问一下,怎样把这个画到canvas?使用wx.canvasPutImageData总是报错:canvasPutImageData: invalid data format。好像getWXACodeUnlimit返回的buffer无法转换成RGBA的Uint8clampedArray.
      2019-12-18
      回复
    • 周凡
      周凡
      2019-12-20回复韦不吕🙈🙉🙊
      直接通过拿到的ArrayBuffer创建uint8clampedArray视图:new Uint8ClampedArray(res.data.data)
      2019-12-20
      回复
    查看更多(1)
  • 折面
    折面
    2018-11-19

    目前在小程序内部生成的无法查看,可以在服务器端用 nodejs 或者 php 等后台语言把二进制流保存图片文件后,返回图片地址到小程序展示或者保存

    2018-11-19
    赞同
    回复 6
    • 辉仔
      辉仔
      2018-11-21

      就是不知道 nodejs 如何将 二进制流保存成图片文件?

      2018-11-21
      回复
    • 折面
      折面
      2018-11-21

      fs.writeFile?

      2018-11-21
      回复
    • 辉仔
      辉仔
      2018-11-21回复折面

      fs.writeFile我一直可以的。但是生成的图片不能查看。大概是有些细节的问题,不知道怎么处理,文档也没查到

      2018-11-21
      回复
    • 7777777
      7777777
      2019-01-10回复折面

      来官方大佬给他写个

      2019-01-10
      回复
    • aholy.cium
      aholy.cium
      2019-01-29回复7777777

      你这个名字看起来吓到了。

      2019-01-29
      回复
    查看更多(1)
  • 徐佳孟
    徐佳孟
    2019-01-17

    我们这里使用的后端语言为PHP,在获取到文件流后,生成一个新的图片,使用fopen函数打开,再使用fwrite函数将文件流写入,最后使用fclose函数关闭操作,最终会在服务器上生成一个二维码图片。

    2019-01-17
    赞同 1
    回复
  • 乔大叔😍
    乔大叔😍
    2019-01-08

    请求回来的数据自动编码了,设置encoding : null就行,详见:https://segmentfault.com/a/1190000002787763

    2019-01-08
    赞同
    回复 2
    • 辉仔
      辉仔
      2019-01-08

      我晚点去试下

      2019-01-08
      回复
    • 乔大叔😍
      乔大叔😍
      2019-01-08回复辉仔

      还写了一个博客,https://blog.csdn.net/uikoo9/article/details/86088028

      2019-01-08
      回复
登录 后发表内容