npm包cordova-plugin-background-download使用教程

阅读时长 8 分钟读完

介绍

cordova-plugin-background-download是一个使用cordova实现的后台下载插件。该插件使用了Android DownloadManager,iOS NSURLSession和Windows BackgroundDownloader进行后台下载。这个插件支持多任务下载和断点续传。本篇文章将详细介绍如何使用cordova-plugin-background-download进行前端类开发中的下载功能实现。

安装

在cordova项目中,使用以下命令安装cordova-plugin-background-download插件:

使用方法

下面我们将为大家详细介绍如何使用cordova-plugin-background-download插件来实现前端类开发中的下载功能。

初始化插件

首先,在deviceready事件触发之后,我们需要对插件进行初始化。我们可以使用如下代码:

-- -------------------- ---- -------
---------------------------------------- -------------- -------

-------- --------------- -
    ------------------------------------------------------ ---------- -
        ----------------------------------------------- --------------
    -- ---------- -
        ----------------------------------------------- ------ -- -------------
    ---
-

这里我们调用cordova.plugins.backgroundDownload.initialise方法来初始化插件。options参数定义了下载时的一些配置,包括下载的最大并发数、下载目录等等。options为一个JSON格式对象,其具体内容如下:

下载文件

初始化插件后,我们可以调用cordova.plugins.backgroundDownload.download方法来下载文件。示例如下:

各参数的含义如下:

  • url:要下载的文件的URL地址
  • fileName:下载的文件名
  • filePath:下载文件的目录,如果未指定则放在options中设置的downloadRootDirectory目录中
  • headers:HTTP头信息,用于授权或其他定制功能。headers是一个JSON格式对象,如:{"Authorization":"Bearer xxxxxxxxx"}
  • successCallback:成功回调函数
  • errorCallback:失败回调函数。如果下载失败了,错误回调函数将会传递一个错误字符串参数。
  • progressCallback:进度回调函数。该函数每隔一段时间会被调用,传递当前下载进度(0到1之间)的浮点数参数。

调用示例:

-- -------------------- ---- -------
-------------------------------------------------------------------------- ----------- --------- --- ---- ----- ----------

-------- ----------- -
    --------------------- --------- - - ------------------
-

-------- ----------- -
    ------------------- - - -------
-

-------- ----------------------- -
    ---------------------- - - -------------------- - ---------------------
-

这个download方法会返回一个Promise对象,我们也可以使用Promise语法。比如:

-- -------------------- ---- -------
-------------------------------------------------------------------------- ----------- --------- --- ---- ----- ---------
    ---------------------- -
        --------------------- --------- - - ------------------
    --
    ---------------------- -
        ------------------- - - -------
    --
    --------------------------------- -
        ---------------------- - - -------------------- - ---------------------
    ---

获取正在下载的文件

我们可以使用cordova.plugins.backgroundDownload.getActiveDownloads方法查找当前正在下载的文件的信息。示例代码如下:

暂停下载

要暂停一个下载,我们可以使用cordova.plugins.backgroundDownload.pause方法。代码示例:

各参数的含义如下:

  • downloadId:要暂停的下载任务ID
  • win:成功回调函数
  • fail:失败回调函数。如果下载失败了,错误回调函数将会传递一个错误字符串参数。

调用示例:

继续下载

要继续一个被暂停的下载,我们可以使用cordova.plugins.backgroundDownload.resume方法。示例代码:

参数说明如下:

  • downloadId:要继续的下载任务ID
  • win:成功回调函数
  • fail:失败回调函数。如果下载失败了,错误回调函数将会传递一个错误字符串参数。

调用示例:

取消下载

要取消一个下载,我们可以使用cordova.plugins.backgroundDownload.cancel方法。示例代码如下:

各参数说明如下:

  • downloadId:要取消的下载任务ID
  • win:成功回调函数
  • fail:失败回调函数。如果下载失败了,错误回调函数将会传递一个错误字符串参数。

调用示例:

结语

本文我们介绍了cordova-plugin-background-download这个npm包的使用方法,并提供了详尽的代码示例。如果你正在做前端类开发中的下载功能,这个npm包将是一个非常好的选择。相信通过本文,大家已经掌握了如何使用这个npm包的技能,并能够自如地实现前端开发中的下载功能。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055fa981e8991b448dcfb3

纠错
反馈