获取小程序码并接受buffer流保存为图片的方法

2020-07-24 14:18:38 浏览数 (1)

参考网址:链接

需求:

getwxacodeunlimit 这个 API 可以通过【云调用】和通过 【HTTPS 调用】获得小程序码我们对返回的buffer数据进行处理,保存为图片

下面是HTTPS调用,存储部分参考了上面链接里的教程(云调用请看上面的参考网址)

代码语言:javascript复制
        // 使用 axios(还可以使用request-promise)
        const axios = require('axios')
        options = {
            method: 'POST',
            url: 'https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token='   access_token   '',
            data: JSON.stringify({
                scene: event.scene,
                page: event.page,
                width: 280
            }),
            headers: {
                'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
            },
            responseType: 'arraybuffer'
        }
        let wxacodeResult = await axios(options) //获得文件上传许可以及各种参数
        //已经得到返回,buffer 在data下
        
        
        // 上传到云存储
        const uploadResult = await cloud.uploadFile({
            cloudPath: 'qr/'   自定义的名字   '.jpg',
            fileContent: wxacodeResult.data
        });
        
        if (!uploadResult.fileID) {
            //上传失败,返回错误信息
            return uploadResult;
        }

        // 获取图片临时路径
        let getURLReault = await cloud.getTempFileURL({
            fileList: [uploadResult.fileID]
        });
        let fileObj = getURLReault.fileList[0];
        fileObj.fromCache = false;

        // 上传成功,获取文件临时url,返回临时路劲的查询结果
        return fileObj.tempFileURL;        
        
    

0 人点赞