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});

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值