7***@qq.com
7***@qq.com
  • 发布:2023-08-10 17:03
  • 更新:2024-08-10 10:13
  • 阅读:739

安卓环境下使用plus.nativeObj.Bitmap("base64")保存base64成本地图片文件,循环调用时部分图片存不下来(无规律)

分类:uni-app
export function saveBaseImgFile(imagename, base64, suffix) {  
    let result = false;  
    for (let i = 0; i <= 1; i++){  
        const bitmap = new plus.nativeObj.Bitmap("base64");  

            // 加载Base64编码格式图片到Bitmap对象  
            // bitmap.loadBase64Data( data, successCallback, errorCallback ) 3个全必填  
            bitmap.loadBase64Data(base64, function() {  
                const url = "_doc/images/" + imagename + "." + suffix;  

                // 保存 bitmap 图片 到本地 path  
                // bitmap.save( path, options, successCallback, errorCallback ) 4个全必填  
                bitmap.save(url, {  
                    overwrite: true, // 是否覆盖  
                    // quality: 'quality'  // 图片清晰度  
                }, (success) => {  
                    result = true  
                    bitmap.clear() // 销毁Bitmap图片  
                }, (error) => {  
                    result = false  
                    bitmap.clear()  
                });  
            }, (error) => {  
                result = false  
                bitmap.clear()  
            });  
        }  
    return result  
}

如上代码,在页面200个base64数据循环调用saveBaseImgFile这个函数,全部return的是true,执行也无错误,但是就是个别图片存不下来,而且每次执行存不下来的图片还不是一样的,但是再次执行一遍就会全部存下来,后来我在外层加了一个for让每一个base64调用执行两次保存,才能达到200个base64数据100%的存下来,不清楚是哪里问题

2023-08-10 17:03 负责人:无 分享
已邀请:
即时通讯开发

即时通讯开发

你这会异步吧 改造同步试一下

要回复问题请先登录注册