美文网首页
HTML5+规范:Downloader(管理网络文件下载任务)实

HTML5+规范:Downloader(管理网络文件下载任务)实

作者: apple_sun | 来源:发表于2018-03-26 13:14 被阅读0次

    Downloader模块管理网络文件下载任务,用于从服务器下载各种文件,并支持跨域访问操作。通过plus.downloader获取下载管理对象。Downloader下载使用HTTP的GET/POST方式请求下载文件,符合标准HTTP/HTTPS传输协议。
    参考链接 http://www.html5plus.org/doc/zh_cn/downloader.html

    function DB_Down() {
        /*设置下载路径*/
        var db_name = '0001.db';
        loadUrl = 'http://fire.idpmis.com/static/db/' + db_name
        var filename = loadUrl.substring(loadUrl.lastIndexOf("/") + 1, loadUrl.length);
        //设置保存路径
        //io.dcloud.H5247757B后面的H5247757B是manifest.json文件中的appid
        var relativePath = "file:///storage/emulated/0/Android/data/io.dcloud.H5247757B/downloads/" + filename;
        plus.io.resolveLocalFileSystemURL(relativePath, function(entry) {
            console.log("文件存在,先进行删除=" + relativePath);
            delFile(relativePath)
        }, function(e) {
            console.log("文件不存在,联网下载=" + relativePath);
            setImgFromNet(loadUrl, relativePath);
        });
    
        function setImgFromNet(loadUrl, relativePath) {
            //创建下载任务
            var dtask = plus.downloader.createDownload(loadUrl, {}, function(d, status) {
                if(status == 200) {
                    //下载成功
                    plus.storage.setItem("relativePath", relativePath); //存储db文件路径名
                    console.log("下载成功=" + relativePath);
                    plusReady()
                } else {
                    //下载失败,需删除本地临时文件,否则下次进来时会检查到文件已存在
                    console.log("下载失败=" + status + "==" + relativePath);
                    if(relativePath != null)
                        delFile(relativePath);
                }
            });
            //启动下载任务
            dtask.start();
        }
        /*删除指定文件*/
        function delFile(relativePath) {
            plus.io.resolveLocalFileSystemURL(relativePath, function(entry) {
                entry.remove(function(entry) {
                    console.log("文件删除成功==" + relativePath);
                    setImgFromNet(loadUrl, relativePath);
                }, function(e) {
                    console.log("文件删除失败=" + relativePath);
                });
            });
        }
    }
    

    相关文章

      网友评论

          本文标题:HTML5+规范:Downloader(管理网络文件下载任务)实

          本文链接:https://www.haomeiwen.com/subject/ncxrcftx.html