小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我的图片格式 base64的 在ios环境下 这个弹窗没效果 安卓环境下是正常的
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
你好,请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
savePosterToAlbum() { // 检测用户相册权限
let _self = this
uni.getSetting({
success(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
// 这里是用户同意授权后的回调
_self.saveImgToLocal()
},
fail() { // 这里是用户拒绝授权后的回调
console.log('授权失败')
// _self.openSettingBtnHidden = false
}
})
} else { // 用户已经授权过了
saveImgToLocal() { // 保存图片到本地
uni.getFileSystemManager().writeFile({
filePath: wx.env.USER_DATA_PATH + '/img.jpg',
data: this.posterUrl,
encoding: 'base64',
success: res => {
uni.saveImageToPhotosAlbum({
success: (res) => {
this.showToast('保存成功')
console.log(res)
<image class="poster-img _flex" :src="posterImg" mode="" :data-src="posterImg" show-menu-by-longpress="true" @click.stop="priviewImage"></image>
ios 微信版本8.0.13 基础库2.19.4 弹起菜单后,发送,保存,按键均无反应
long-press无法分享base64的图,至少ios上我没成功过。
page.onshow的时候用下面代码转成本地文件,将image.src替换为本地文件后,long-press就OK了
var imgSrc = this.data.imgSrc.slice(23);//base64编码 var save = wx.getFileSystemManager(); var number = Math.random(); let localFilePath = wx.env.USER_DATA_PATH + '/pic' + number + '.png', _this = this; save.writeFile({ filePath: localFilePath, data: imgSrc, encoding: 'base64', success: res => { _this.setData({ localFilePath: localFilePath }) } })
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
你好,请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。
savePosterToAlbum() { // 检测用户相册权限
let _self = this
uni.getSetting({
success(res) {
if (!res.authSetting['scope.writePhotosAlbum']) {
uni.authorize({
scope: 'scope.writePhotosAlbum',
success() {
// 这里是用户同意授权后的回调
_self.saveImgToLocal()
},
fail() { // 这里是用户拒绝授权后的回调
console.log('授权失败')
// _self.openSettingBtnHidden = false
}
})
} else { // 用户已经授权过了
_self.saveImgToLocal()
}
}
})
},
saveImgToLocal() { // 保存图片到本地
uni.getFileSystemManager().writeFile({
filePath: wx.env.USER_DATA_PATH + '/img.jpg',
data: this.posterUrl,
encoding: 'base64',
success: res => {
uni.saveImageToPhotosAlbum({
filePath: wx.env.USER_DATA_PATH + '/img.jpg',
success: (res) => {
this.showToast('保存成功')
console.log(res)
}
})
}
})
}
<image class="poster-img _flex" :src="posterImg" mode="" :data-src="posterImg" show-menu-by-longpress="true" @click.stop="priviewImage"></image>
ios 微信版本8.0.13 基础库2.19.4 弹起菜单后,发送,保存,按键均无反应
long-press无法分享base64的图,至少ios上我没成功过。
page.onshow的时候用下面代码转成本地文件,将image.src替换为本地文件后,long-press就OK了
var imgSrc = this.data.imgSrc.slice(23);//base64编码 var save = wx.getFileSystemManager(); var number = Math.random(); let localFilePath = wx.env.USER_DATA_PATH + '/pic' + number + '.png', _this = this; save.writeFile({ filePath: localFilePath, data: imgSrc, encoding: 'base64', success: res => { _this.setData({ localFilePath: localFilePath }) } })