大神们求救 我生成小程序码一直乱码
发布于 5 年前 作者 luming 1197 次浏览 来自 问答

生成小程序二维码一直不行   一直是乱码 再网上看 说什么已经时二进制流了 直接写文件里就可以了 或者直接转base64 然后在image标签里加上 data:image/png;base64这个就行  可是我用base64 = wx.arrayBufferToBase64(arrayBuffer) 放在标签里 还是不行呀   然后我就在王网上看 可以生成本地文件 然后直接写进去 我试过了  还是不行   我用的是node发的请求  本想用java 一想还要用服务器 还是算了 直接用nodejs把  刚刚接触nodejs 在网上找的发送请的例子  也不知道对不对   返回来的数据就是乱码

****这里获得access_token 这个就不过多说了  

const rp = require(‘request-promise’);

var img = await rp({

            method: ‘post’,

            uri: https://api.weixin.qq.com/wxa/getwxacode?access_token= + res,

            body: {

                //access_token: res,

                path: “/pages/index/index”

            },//参数

            headers: {

                //‘content-type’: ‘application/json’

                ‘Content-Type’: ‘Content-type: image/jpg’

            },//请求头

            json: true  //是否json数据

        }).then((bodys) => {

                return bodys;

}).catch(err => {

console.log(“这里报错了”)

return err;

})

return img;

这里是我调用云函数的方法   返回来写文件 看文档 给开发者提供了一个路径,${wx.env.USER_DATA_PATH}  可是这个路径我想不是本地的 是不是要转成缓存的 image 标签才能用 我就用下载到缓存  形成临时文件 可是还是不显示

wx.cloud.callFunction({ //加载归属车型

    name: ‘accessToken’,

    data: {

        appSectet: app.globalData.appSectet

    }

}).then(res => {

    console.log(res.result)

    wx.getFileSystemManager().writeFile({

        filePath: `${wx.env.USER_DATA_PATH}/image.png`,

        data: res.result,

        success: function (res) {

            console.log(res)

                wx.downloadFile({

                    url: `${wx.env.USER_DATA_PATH}/image.png`, //仅为示例,并非真实的资源

                    success(res) {

                            console.log(res)

                        const filePath = res.tempFilePath

                        thisData.setData({

                            captchaImage1: res.tempFilePath

                        })

                }

        })

}

})

5 回复

encoding: null,

json: true

axios的依赖还要另行安装的是吗

我也是头疼于这块东西,各种找不到答案,只能生成的buffer传到

const upload = await cloud.uploadFile({
cloudPath: 'demo5561.jpg',
fileContent: buffer,
})

云服务器上,然而此方法又不好,所以 楼主能否分享下 云服务函数 到小程序生成小程序码的 代码,感激中…

你生成有问题

你要先在js里面转好base64,然后再渲染到wxml里面。你在wxml标签 运行js操作,可能吗?难道html标签 可以执行js代码?

回到顶部