uni-app Base64保存到相册

2022-01-20  本文已影响0人  赵哥窟

uni-app将图片存入系统的官方api是 uni.saveImageToPhotosAlbum(OBJECT),需要给定一个文件路径filePath,但是这个路径我们是没办法拿到的。解决思路:需要用到Bitmap,把base64转成bitmap文件对象,然后使用uni.saveImageToPhotoAlbum方法将图片成功保存并显示。

saveBaseImgFile() {
    let base64 = this.qrImgUrl;
    const bitmap = new plus.nativeObj.Bitmap("base64");
    bitmap.loadBase64Data(base64, function() {
        const url = "_doc/" + new Date().getTime() + ".png"; 
        console.log('saveHeadImgFile', url)
        bitmap.save(url, {
            overwrite: true,  // 是否覆盖
            // quality: 'quality'  // 图片清晰度
        }, (i) => {
            uni.saveImageToPhotosAlbum({
                filePath: url,
                success: function() {
                    uni.showToast({
                        title: '图片保存成功',
                        icon: 'none'
                    })
                    bitmap.clear()
                }
            });
        }, (e) => {
            uni.showToast({
                title: '图片保存失败',
                icon: 'none'
            })
            bitmap.clear()
        });
    }, (e) => {
        uni.showToast({
            title: '图片保存失败',
            icon: 'none'
        })
        bitmap.clear()
    });
}
上一篇 下一篇

猜你喜欢

热点阅读