小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我通过writerFile写入了watermarkInfo.jpg中 后续我要怎么把他转换为url路径 或者怎么显示出来图片啊
6 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
使用wx.getFileSystemManager().readFile 指定 encoding:"base64",得到图片base64内容
imgBase64 = 'data:image/jpg;base64,'+得到图片base64内容
image的src="{{imgBase64}}"
如果你写文件那一步的 res.data就已经是二进制数据的话,就直接使用下面这个,都不用写文件了
var base64 = wx.arrayBufferToBase64(res.data);
console.log(base64);
this.setData({
imgBase64: 'data:image/jpg;base64,' + base64
})
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
你的writeFile和readFile那2步都不要,替换成
app.globalData.testimgsrc = 'data:image/jpg;base64,' + base64
你如果用wx.getFileSystemManager().readFile指定了encoding为 'base64',结果就已经是base64数据,就没必要用arrayBufferToBase64了
楼主你解决了吗?
我也做过水印,用的阿里的接口,但没你这么复杂,这肯定有优化的地方把
我也碰到了这个问题,网上说要再请求头里设置什么,感觉比较麻烦,后来我让后端帮忙转成base64发给我,然后image的src值设置成'data:image/jpeg;base64,'+base64图片就能显示了
直接你readFile用的这个路径 设到 image 的src里就可以
用wx.downloadFile将图片下载下来
wx.downloadFile({
url: '生成二进制图片的链接'
,
success: res => {
if
(res.tempFilePath) {
//res.tempFilePath就是图片链接
}
else
{
toast(
"图片生成失败"
)
},
fail: (err) => {
console.log(er)
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
使用wx.getFileSystemManager().readFile 指定 encoding:"base64",得到图片base64内容
imgBase64 = 'data:image/jpg;base64,'+得到图片base64内容
image的src="{{imgBase64}}"
如果你写文件那一步的 res.data就已经是二进制数据的话,就直接使用下面这个,都不用写文件了
var base64 = wx.arrayBufferToBase64(res.data);
console.log(base64);
this.setData({
imgBase64: 'data:image/jpg;base64,' + base64
})
你的writeFile和readFile那2步都不要,替换成
var base64 = wx.arrayBufferToBase64(res.data);
app.globalData.testimgsrc = 'data:image/jpg;base64,' + base64
你如果用wx.getFileSystemManager().readFile指定了encoding为 'base64',结果就已经是base64数据,就没必要用arrayBufferToBase64了
楼主你解决了吗?
我也做过水印,用的阿里的接口,但没你这么复杂,这肯定有优化的地方把
我也碰到了这个问题,网上说要再请求头里设置什么,感觉比较麻烦,后来我让后端帮忙转成base64发给我,然后image的src值设置成'data:image/jpeg;base64,'+base64图片就能显示了
直接你readFile用的这个路径 设到 image 的src里就可以
用wx.downloadFile将图片下载下来
wx.downloadFile({
url: '生成二进制图片的链接'
,
success: res => {
if
(res.tempFilePath) {
//res.tempFilePath就是图片链接
}
else
{
toast(
"图片生成失败"
)
}
},
fail: (err) => {
console.log(er)
}
})