zoukankan      html  css  js  c++  java
  • 网络下载功能实现(downloader ) ---- HTML5+

    模块downloader 

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

    应用场景:音频下载,视频下载,文件下载,数据缓存(断网操作);

    Downloader对象:downloader

    plus.downloader.createDownload( url, options, completedCB );

    对象:plus.downloader.createDownload(url,options,completedCB);

    url:需要下载的文件的地址;

    options:属性非常多:

    method: (String 类型 )网络请求类型
    支持http协议的“GET”、“POST”,默认为“GET”请求。
    
    data: (String 类型 )POST请求时提交的数据
    仅在网络请求类型method设置为"POST"时有效,"GET"请求时忽略此数据。
    
    filename: (String 类型 )下载文件保存的路径
    保存文件路径仅支持以"_downloads/"、"_doc/"、"_documents/"开头的字符串。 文件路径以文件后缀名结尾(如"_doc/download/a.doc")表明指定保存文件目录及名称,以“/”结尾则认为指定保存文件的目录(此时程序自动生成文件名)。 如果指定的文件已经存在,则自动在文件名后面加"(i)",其中i为数字,如果文件名称后面已经是此格式,则数字i递增,如"download(1).doc"。 默认保存目录为("_downloads"),并自动生成文件名称。
    
    priority: (Number 类型 )下载任务的优先级
    数值类型,数值越大优先级越高,默认优先级值为0。
    
    timeout: (Number 类型 )下载任务超时时间
    数值类型,单位为s(秒),默认值为120s。 超时时间为服务器响应请求的时间(不是下载任务完成的总时间),如果设置为0则表示永远不超时。
    
    retry: (Number 类型 )下载任务重试次数
    数值类型,默认为重试3次。
    
    retryInterval: (Number 类型 )下载任务重试间隔时间
    数值类型,单位为s(秒),默认值为30s。

    Downloader对象属性和方法

    readonly attribute String id;
    readonly attribute String url;
    readonly attribute Number state;
    readonly attribute DownloadOptions options;
    readonly attribute String filename;
    readonly attribute Number downloadedSize;
    readonly attribute Number totalSize;
    function void abort();
    function void addEventListener( String event, function Callback listener, Boolean capture );
    function String getAllResponseHeaders();
    function String getResponseHeader( headerName );
    function void pause();
    function void resume();
    function void setRequestHeader( String headerName, String headerValue );
    function void start();

    方法

    plus.downloader.clear( state );// 清除下载任务
    plus.downloader.startAll(); // 开始所有的下载任务

    具体示例

    <header class="mui-bar mui-bar-nav">
        <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
        <h1 class="mui-title">下载管理</h1>
    </header>
    <div class="mui-content mui-content-padded">
        <button type="button" id="btnDownload" class="mui-btn mui-btn-blue mui-btn-block">下载</button>
        <ul id="downloadlist"></ul>
        <img src="" id="downloadImg" alt="" />
    </div>
    <script src='http://libs.baidu.com/jquery/1.8.3/jquery.min.js'></script>
    <script src="js/mui.min.js"></script>
    <script type="text/javascript">
    mui.plusReady(function(){
        var dtask=null;
        $("#btnDownload").bind('tap',function(){
            // 第一步:创建下载任务        
            var url = "http://img5.img.9xiu.com/upload/roomimg/2017/11/05/27976195201433p14we39unu_370x280.jpg";
            var options = {method:"GET"};
            dtask = plus.downloader.createDownload(url,{
                filename:"_doc/download/a.jpg"
            },function(download,status){
                plus.io.resolveLocalFileSystemURL(download.filename,function(entry){
                    mui.alert('completed');
                    $("#downloadlist").append("<p>"+download.filename+"</p>");
                    $("#downloadlist").append("<p>"+entry.fullPath+"</p>");
                    $("#downloadImg").attr('src',entry.fullPath);
                });
            });        
            dtask.start();
        });
    });
    </script>
  • 相关阅读:
    史上最详细 Linux 用户与用户组知识
    MySQL -2- 体系结构--随笔小记
    MySQL -2- 体系结构
    MySQL -1- 简介及安装
    MySQL -0- 课程大纲及课程链接
    探索Windows命令行系列(4):通过命令操作文件和文件夹
    探索Windows命令行系列(3):命令行脚本基础
    探索Windows命令行系列(2):命令行工具入门
    探索Windows命令行系列(1):导航目录
    Oracle 分页方法研究
  • 原文地址:https://www.cnblogs.com/e0yu/p/7850400.html
Copyright © 2011-2022 走看看