html5文件io,html5plus io模块resolveLocalFileSystemURL 异步操作的问题

我有个方法是相册里多选图片,遍历多选的图片,判断图片的大小,如果超过500k就对图片进行压缩,但是读取图片信息的方法是异步的,导致最后我收集到图片的数组数据会丢失图片,我觉得是异步的问题导致,不知道大神们对于这种需求有什么处理方案,有没有其他获取图片大小的方法

线谢过各位帮忙的大神

function appendByGallery(){

plus.gallery.pick(function(e){

for(var i in e.files){

var p = plus.io.convertLocalFileSystemURL(e.files[i]);

//appendFile(p);

//文件对象获取,并进行大小判断

var filePath = p;

if(plus.os.name=='iOS'){

filePath = 'file://'+p;

}

plus.io.resolveLocalFileSystemURL( filePath, function( entry ) {

entry.file( function(file){

var fileReader = new plus.io.FileReader();

//alert("getFile:" + JSON.stringify(file));

//大于500kb

var max_kb = 500*1024;

if(file.size>max_kb){

imgZip(file.fullPath);

}else{

appendFile(file.fullPath);

};

} );

}, function ( e ) {

alert( "图片读取失败: " + e.message );

});

}

},

function ( e ) {

console.log(e);

},

{filter:"image",multiple:true});

}

你可能感兴趣的:(html5文件io)