收藏
回答

微信官方生成二维码接口:wxacode.getUnlimited,返回的Buffer怎么处理?

需求是:将接口返回的Buffer转换成二进制数据。

然后保存到MySql数据库。

返回的Buffer在postman 是一堆乱码,我用file_put_contents($PATH . $file_name, $result); 是可以获得成功的二维码图片的。

问题:

这个Buffer的二进制内容,怎么处理,可以获得 二进制数据?(可以保存到数据库的数据)

下边是代码与请求返回截图、表结构

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

2 个回答

  • 陈龙
    陈龙
    01-14

    不建议保存二进制数据?按楼上说的直接转成图片上传到图片服务器,保存图片的key即可。如果你非要保存的话,直接保存返回的字符串到数据库即可,不需要再转成二进制数据。

    01-14
    赞同
    回复 2
    • 🌈YerowMo
      🌈YerowMo
      01-14
      非常感谢,我现在暂时是直接保存返回的字符串到数据库.
      再做下一步的合成保存。(我也想直接保留图片,保存图片路径计算,可惜,客户就是最大的,他说要怎么做就怎么做。)
      01-14
      回复
    • 陈龙
      陈龙
      01-14回复🌈YerowMo
      甲方爸爸 哈哈
      01-14
      回复
  • 11110111001011110111001110111
    11110111001011110111001110111
    01-14

    把二进制转成文件存到服务器上 数据库保存文件路径

    01-14
    赞同
    回复 3
    • 🌈YerowMo
      🌈YerowMo
      01-14
      意思是,我必须将接口返回的Buffer,转成图片文件保存下来,再将图片文件转成二进制数据,才能实现我的需求?
      01-14
      回复
    • 11110111001011110111001110111
      11110111001011110111001110111
      01-14回复🌈YerowMo
      我搞不明白 数据库为什么要存二进制数据?
      你保存后不就有文件的访问路径了吗?
      前端要图片就把路径给他不就完了?
      为什么要存二进制数据?
      01-14
      回复
    • 🌈YerowMo
      🌈YerowMo
      01-14
      我刚刚测试了一下,因为我的需求不是要二维码的图片,我是要将二维码的图片跟其他对应的产品图片合成,保存到数据库。
      本地运维太乱了(图片文件夹乱放),10年前的项目更新迭代。
      所以现在将图片保存到数据库,需要用再从后台转出来。


      接口返回的内容(二进制内容)可以直接保存到blob类型,却是
      64k这么多。
      感觉需要处理一下(二进制数据类型)再保存?
      01-14
      回复
登录 后发表内容
问题标签