this.base64 =this.url.replace(/^data:image\/\w+;base64,/, "");
let filePath=wx.env.USER_DATA_PATH + '/certificate.png';
var save = uni.getFileSystemManager()
save.writeFile({
filePath:filePath , //创建一个临时文件名
data:this.base64, //写入的文本或二进制数据
encoding: 'base64', //写入当前文件的字符编码
success: res => {
uni.saveImageToPhotosAlbum({
filePath: filePath,
success: function(res2) {
uni.showToast({
title: '保存成功,请从相册选择再分享',
icon:"none",
duration:5000
})
},
fail: function(err) {
console.log(err.errMsg);
}
})
},
fail: err => {
console.log(err)
}
})
- 发布:2022-07-19 17:06
- 更新:2022-07-19 17:06
- 阅读:2291
产品分类: uniapp/小程序/微信
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: win10
HBuilderX类型: 正式
HBuilderX版本号: 3.4.7
第三方开发者工具版本号: 1.06.2207122
基础库版本号: 2.25.0
项目创建方式: HBuilderX
示例代码:
操作步骤:
this.$http
.customRequest(
'/thirdApp/downloadFile',
{ resultId: item.id },
'GET',
undefined,
'arraybuffer'
)
.then(res => {
if (res) {
const base64 = uni.arrayBufferToBase64(res);
const imgSrc = 'data:image/png;base64,' + base64;
uni.navigateTo({
url: `/personPackge/pages/myOffice/filePreview?url=${imgSrc}`
});
} else {
uni.showToast({
title: '稍后下载',
icon: 'none'
});
}
})
.catch(() => {
console.log('导出失败');
});
saveImageToPhotosAlbum(){
this.base64 =this.url.replace(/^data:image\/\w+;base64,/, "");
let filePath=wx.env.USER_DATA_PATH + '/certificate.png';
var save = uni.getFileSystemManager()
save.writeFile({
filePath:filePath , //创建一个临时文件名
data:this.base64, //写入的文本或二进制数据
encoding: 'base64', //写入当前文件的字符编码
success: res => {
uni.saveImageToPhotosAlbum({
filePath: filePath,
success: function(res2) {
uni.showToast({
title: '保存成功,请从相册选择再分享',
icon:"none",
duration:5000
})
},
fail: function(err) {
console.log(err.errMsg);
}
})
},
fail: err => {
console.log(err)
}
})
},
this.$http
.customRequest(
'/thirdApp/downloadFile',
{ resultId: item.id },
'GET',
undefined,
'arraybuffer'
)
.then(res => {
if (res) {
const base64 = uni.arrayBufferToBase64(res);
const imgSrc = 'data:image/png;base64,' + base64;
uni.navigateTo({
url: `/personPackge/pages/myOffice/filePreview?url=${imgSrc}`
});
} else {
uni.showToast({
title: '稍后下载',
icon: 'none'
});
}
})
.catch(() => {
console.log('导出失败');
});
saveImageToPhotosAlbum(){
this.base64 =this.url.replace(/^data:image\/\w+;base64,/, "");
let filePath=wx.env.USER_DATA_PATH + '/certificate.png';
var save = uni.getFileSystemManager()
save.writeFile({
filePath:filePath , //创建一个临时文件名
data:this.base64, //写入的文本或二进制数据
encoding: 'base64', //写入当前文件的字符编码
success: res => {
uni.saveImageToPhotosAlbum({
filePath: filePath,
success: function(res2) {
uni.showToast({
title: '保存成功,请从相册选择再分享',
icon:"none",
duration:5000
})
},
fail: function(err) {
console.log(err.errMsg);
}
})
},
fail: err => {
console.log(err)
}
})
},
预期结果:
苹果和安卓都可以保存png图片到手机相册
苹果和安卓都可以保存png图片到手机相册
实际结果:
安卓手机正常的,但是苹果手机就某一条成功了,其他就都是报错writeFile:fail base64 encode error
安卓手机正常的,但是苹果手机就某一条成功了,其他就都是报错writeFile:fail base64 encode error
bug描述:
将png图片保存到手机相册,安卓手机没有问题,苹果手机就只有某一条数据可以报错成功,其他是报错:writeFile:fail base64 encode error
0 个回复