$cordovaImagePicker选择手机相册图片,返回有两个路径,一个是原图,一个是cache。
原图非常大,高清,通常我们做压缩处理,本人之前用的是lrz;
lrz(results[i]) .then(function (rst) { $scope.myFileImage21 = (rst.base64.slice(23)); $scope.allFile.push($scope.myFileImage21); }) .catch(function (err){ }) .always(function () { });
但压缩对界面不友好,卡顿。
这里本人是用cache做预览缩略图,把原图进过压缩传给后台。
var options = { maximumImagesCount: 8, width: 600, height: 600, quality: 100 };
$cordovaImagePicker.getPictures(options).then(function (results) { for (var i = 0; i < results.length; i++) { if(i % 2 != 0) { lrz(results[i]) .then(function (rst) { $scope.myFileImage21 = (rst.base64.slice(23)); $scope.allFile.push($scope.myFileImage21); }) .catch(function (err){ }) .always(function () { }); $scope.img = results[i]; $scope.images_list.push($scope.img); }
}
}
这样界面不卡,非常流畅,上传很快,只是cache图,在预览时没原图高清,但也非常不错了。