生成小程序二维码一直不行 一直是乱码 再网上看 说什么已经时二进制流了 直接写文件里就可以了 或者直接转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
})
}
})
}
})
我也是头疼于这块东西,各种找不到答案,只能生成的buffer传到
云服务器上,然而此方法又不好,所以 楼主能否分享下 云服务函数 到小程序生成小程序码的 代码,感激中...
axios的依赖还要另行安装的是吗
encoding: null,
json: true
你生成有问题
解决了 是我的生成有问题 我用nodejs 里的 axios 这个写了请求 设置了一个responseType: 'arraybuffer'这个 果断可以了
嗯
云小程序数据是在服务器上设定就可以了?
我没有在自己的服务器上生成 我是在云函数里生成的 直接写的是nodejs
兄弟 完整的能发给我看看吗? 谢~~
你要先在js里面转好base64,然后再渲染到wxml里面。你在wxml标签 运行js操作,可能吗?难道html标签 可以执行js代码?
我先在js 转成base64 然后let base64 = wx.arrayBufferToBase64(res.result)
setData({
captchaImage1: base64 //这里已经走过wx.arrayBufferToBase64(res.result)
})
wxml <image src="data:image/png;base64,{{captchaImage1}}"></image >
你可以在setData里面 就把src 拼接好,然后渲染在wxml试试。
数据都没有了 !!!是不是我的nodejs 写错了????!!
我生成的是这样的
但是我是后端生成之后,将它写入图片了
我这个没有后台 请求的东西我都放在node上 然后放在云函数里了 这样子剩下了一部分的资源 反正也没有几个请求
然后我昨天想 把这些乱码放到图片文件是不是可以了 然后我就把返回的乱码 以二进制的形式放到了七牛上 生成了图片 结果我打开七牛一看还是不行 我看七牛上一直显示点点点 我就把文件下载下来了 打开一看 不行