Nodejs获取Buffer并保存本地,axios

Nodejs获取Buffer并保存本地,axios

使用axios方案

async function onPostWxMpACode({ appId, appSecret, page, scene, env_version = 'release' }) {
  try {
    let data = await onGetWxMpAccessToken({ appId, appSecret })
    const ret = await axios.post(
      `https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=${data.access_token}`,
      {
        scene,
        page,
        env_version
      },
      { responseType: 'arraybuffer' }
    )
    const errorBufferString = ret.data.toString()
    if (errorBufferString.includes('errcode')) {
      return JSON.parse(errorBufferString)
    }
    fs.mkdirSync('public/images', { recursive: true })
    fs.writeFileSync('public/images/buffer.png', ret.data)
    return { data: { url: '/images/buffer.png' } }
  } catch (error) {
    throw new Error(error.message)
  }
}

示例是使用微信小程序生成小程序码做例子,注意是要约束{ responseType: 'arraybuffer' }​,之后用常规的保存即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值