我用的是vux+cordova进行开发的。
需要从相册选取图片,在手机端以base64做缩略图,用canvas压缩,然后以blob形式上传.
代码如下:
reader.onloadstart = function() {
};
reader.onprogress = function(e) {
};
reader.onload = function(e) {
var src = e.target.result;
let data;
var img = new Image();
img.src = src;
img.onload = function() {
if (src.length <= 100 * 1024) {
data = src;
} else {
data = self.compress(img);
}
uploader_file.setAttribute(
"style",
`background-image:url(${src})`
);
self.filesArr.push(self.dataURItoBlob(data));
};
};
reader.readAsDataURL(file);
}
});
问题:如果快速选取多张图片,手机就会卡死。
我觉得应该用异步压缩,但不知道如何写?