下载进度条实现思路

Posted liangtao999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了下载进度条实现思路相关的知识,希望对你有一定的参考价值。

html/ajax

var url = "img/01.png";
$.ajax({
    type: ‘GET‘,
    dataType: ‘json‘,
    url: url,
    cache: false,
    xhr: function() {
        var xhr = new window.XMLHttpRequest();
        //Download progress
        xhr.addEventListener("progress", function(evt) {
            if(evt.lengthComputable) {
                var percentComplete = evt.loaded / evt.total;
                console.log(Math.round(percentComplete * 100) + "%");
            }

        }, false);
        return xhr;
    },
    beforeSend: function() {},
    complete: function() {},
    success: function(result) {}

});

H5+

var url = "";
var options = {method: "GET"};
dtask = plus.downloader.createDownload(url, options);
dtask.addEventListener("statechanged", function(task, status) {
    switch(task.state) {
        case 1: // 开始  
            break;
        case 2: //已连接到服务器  
            break;
        case 3: // 已接收到数据  
            var current = parseInt(100 * task.downloadedSize / task.totalSize);
            console.log(current);
            break;
        case 4: // 下载完成  plus.notification.compProgressNotification("下载完成");//插件调用  
            plus.runtime.install(plus.io.convertLocalFileSystemURL(task.filename), //安装APP  
                {
                    force: true
                },
                function() {

                },
                function() {
                    mui.toast(‘安装失败‘);
                });
            break;
    }
});
dtask.start(); 

uni.app

https://uniapp.dcloud.io/api/request/network-file

未完成待续

以上是关于下载进度条实现思路的主要内容,如果未能解决你的问题,请参考以下文章

简单的圆形下载进度条

关于文件上传下载以及其他进度条的实现

Linux下模拟实现进度条

如何使用 asynctask 执行数据库操作来实现进度条?

[WinFrom]下载文件并显示进度条的实现代码

Linux简单实现进度条