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%的存下来,不清楚是哪里问题
1 个回复
即时通讯开发
你这会异步吧 改造同步试一下