我一直在使用离子框架,我需要在base64中转换图像以通过post请求发送。 这是我用来转换图像的方法
function toDataUrl(url, callback) {
var xhr = new XMLHttpRequest();
xhr.responseType = 'blob';
xhr.onload = function() {
var reader = new FileReader();
reader.onloadend = function() {
callback(reader.result);
};
reader.readAsDataURL(xhr.response);
};
xhr.open('GET', url);
xhr.send();
}
所以我的代码中的工具
if($scope.allImages.length>0){
// $scope.allImages is an array of paths of the images
for (var i = 0; i < $scope.allImages.length; i++) {
toDataUrl($scope.allImages[i], function(base64File){
alert(base64File);
$scope.project.imgs[i]=base64File;
});
}
}
imprimirObjeto($scope.project.imgs);
我遇到的问题是当我尝试转换图像时。
当我首先运行我的代码时,可以看到最后一行的警告imprimirObjeto($scope.project.imgs);
这是一个打印任何对象的方法。在此之后,我看到了“警告”以及base64中图像的信息
该方法运行良好,因为我可以在base64中看到带有数据的警报,但数据未保存在$ scope
在将值存储在对象中之前,有没有办法停止该功能?
抱歉我的英文。我来自墨西哥。