列表下载

本文介绍了一种使用AppCanAPI实现的批量文件下载方法。该方法通过维护一个全局变量来跟踪当前下载文件的索引,并利用jQuery选择器获取文件ID进行下载任务的调度。此外,还实现了下载进度监控及下载完成后的后续处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 这段代码比较巧妙的是 window.Fileindex 变量,这里用到appcan api

 

var inOpCode = 1;
 window.Fileindex = -1;    

 function DownloadNext(i) {
  window.Fileindex=window.Fileindex+1;
  if(window.Fileindex<$("#list li").length){
   inOpCode = $("#list li:eq("+window.Fileindex+")").attr("fileid");//取得Li列表中第fileindex的fileID
   uexDownloaderMgr.createDownloader(inOpCode);//调用appcan api
  }
 }

 window.uexOnload = function() {
  uexDownloaderMgr.onStatus = function(opCode, fileSize, percent, status) {
   switch (status) {
   case 0:$("#list li[fileid=" + opCode+"]").find(".downloadState").text(percent + "%");
    break;
   case 1:
    $("#list li[fileid=" + opCode+"]").find(".downloadState").text("完成");
    uexDownloaderMgr.closeDownloader(opCode);
    DownloadNext(window.Fileindex);//完成一个之后接着继续下一个下载
    break;
   case 2:
    $("#list li[fileid=" + opCode+"]").find(".downloadState").text("失败");
    uexDownloaderMgr.closeDownloader(opCode);
    DownloadNext(window.Fileindex);
    break;
   }
  };
  
  uexDownloaderMgr.cbCreateDownloader = function(opCode, dataType, data) {
   if (data == 0) {
    $("#list li[fileid=" + opCode+"]").find(".downloadState").text("正在下载");
    var url = $("#list li[fileid=" + opCode+"]").attr("fileurl");
    var savepath = "wgt://data/"+url.split("/")[url.split("/").length-1];
    uexDownloaderMgr.download(inOpCode, url,savepath,'1');
   }else{
   }
  };
 };

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值