vue中多图上传时如何异步压缩图片?
我用的是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);
}
});
问题:如果快速选取多张图片,手机就会卡死。
我觉得应该用异步压缩,但不知道如何写?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论