图片加载img.onload,如何显示进度条?

发布于 2022-09-07 19:49:30 字数 321 浏览 20 评论 0

问题描述

手机端由于需要压缩,选取图片后,特别是大图片,显示出来就比较慢,通常6M以上的图片需要至少5s,这就给用户体验带来挑战。

问题出现的环境背景及自己尝试过哪些方法

过程:选取图片-》压缩-》手机显示图片=》上传,手机显示这个环节出问题。

相关代码

// 请把代码文本粘贴到下方(请勿用图片代替代码)
压缩是canvas压缩,手机显示图片base64,上传是blob

你期待的结果是什么?实际看到的错误信息又是什么?

能否根据base64,做一些进度。

因为有进度条,就会改善用户体验

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

祁梦 2022-09-14 19:49:30

使用ajax-get请求图片,可以获取下载进度,等于100%再赋值到img的src,比如:

<script>
    var xhr = new XMLHttpRequest();
    xhr.open('GET', './1.jpg');
    xhr.onprogress = function (event) {
        if (event.lengthComputable) {
            console.log((event.loaded / event.total) * 100); // 进度
        }
    };
    xhr.send();
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文