getWXACodeUnlimit返回的二进制保存到云存储
- 需求的场景描述(希望解决的问题)
问题:接口返回的二进制如何转为文件并保存到云存储
流程:
1.小程序向云函数发送请求,请求云开发生成返回图片地址(在云存储的地址)
2.云函数接收到请求,请求获取accessToken (已完成)
3.通过getWXACodeUnlimit得到返回的二维码(图片二进制内容) (已完成)
4.将二维码保存至云存储
- 希望提供的能力
将二维码保存至云存储 或 直接发送到云存储指定位置
2 回复
//以下代码写在exports.main 函数里 async function request(url) { return new Promise( function (resolve) { rp(url) .then( function (data) { resolve(data); }) . catch ( function () { resolve({ err: 1 }); }); }); } var createOpt = function (token, scene, page) { var options = { method: 'POST' , uri: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=' + token, encoding: null , //一定要加这个!!!!,不然存进去乱码,试了好久才发现是这里的问题,发出来给大家节约时间 body: { "scene" : scene, "page" : page }, json: true // Automatically stringifies the body to JSON }; return options } var options = createOpt('access_token自己获取', 'test=key&ffff=lalalla' , 'pages/index/index' ) var fileStream = await request(options) return await cloud.uploadFile({ cloudPath: 'testCode3.png' , fileContent: fileStream, }) |