appcan框架 文件下载(含进度条)

自己刚接触APPCAN,插件确实很丰富,但是文档有的就太难懂了,不够连贯,新手的确很费劲。最近在做下载功能的实现,琢磨了半天,才搞出来。
所以发出来给以后的不懂的新人参考。
我做的是下载文件,同时进度条的显示,以下是JS代码,复制即可

 //点击下载文件
        function downloadPdf() {
            var dateobj = new Date();
            //随机下载数字ID
            var id = parseInt((dateobj.getTime()) / 1000);
            var serverURL = "http://www.**X/word/222.docx";//服务器路径
            uexDownloaderMgr.createDownloader(id);//创建下载对象
            function cbCreateDownloader_func(opId, dataType, data) {//下载回调
                if(data == 0) {
                    path = "file:///sdcard/downFiles/669.docx";//自定义下载路径,此为安卓机根目录新建的downFiles文件夹
                    uexDownloaderMgr.download(id, serverURL, path, 1);
//                    appcan.window.openToast('正在下载...', '2000');
                    uexDownloaderMgr.onStatus = function(opCode, fileSize, percent, status) {//监听下载状态
                        switch(status) {
                            case 0:
                                 //下载的文件大小
                                document.getElementById('top_box').innerHTML = "文件大小:" + ((fileSize) / 1000000).toFixed(2) + "M";
                                bar_fill.innerText = parseInt(percent + 1) + "%";
                                //percent为下载的进度值,用于做下载时的进度条
                                bar_fill.style.width = (parseInt(percent+1)/10) + "rem";
                                break;
                            case 1:
//                                appcan.window.openToast('下载完成', '2000');
                                uexDocumentReader.openDocumentReader(path);//下载完成后打开文件
                                uexDownloaderMgr.closeDownloader(opCode);//关闭下载
                                bar_fill.innerText = '已完成下载';
                                bar_fill.style.width = '10rem'
                                uexWindow.destroyProgressDialog();
                                break;
                            case 2:
//                                appcan.window.openToast('下载失败', '2000');
                                uexDownloaderMgr.closeDownloader(opCode);
                                break;
                            case 3:
//                                uap.window.openToast('已取消下载', '2000');
                                break;
                        }
                    }
                } else {
                    // appcan.window.openToast('下载升级文件失败', '2000')
                   }
            }
            uexDownloaderMgr.cbCreateDownloader = cbCreateDownloader_func;
        }
	<-下面是HTML的进度条代码->
	<button onclick="downloadPdf()">下载</button>
            <div class="down_box">
                <div class="text_box mui-inline" id="top_box">文件大小:4.6M</div>
                <div class="container mui-inline">
                    <div class="bar" style="margin-top: 0.3rem;">
                        <span class="bar_unfill">
                            <span class="bar_fill" id="bar_fill"></span>
                        </span>
                    </div>
                </div>
            </div>
	<-以下是CSS代码->
	
				.container {
                        width: 10rem;
                        margin: 0 auto
                }
               
                .bar_unfill {
                        height:0.6rem;
                        display: block;
                        background: #fff;
                        width: 100%;
                        border-radius: 0.3rem;
                }
               
                .bar_fill {
                        height: 0.6rem;
                        display: block;
                        background: #45c9a5;
                        width: 0;
                        border-radius: 0.3rem;
                        text-align: center;
                        font-size: 0.6rem;
                        line-height: 0.6rem;
                }
                .text_box{
                        width: 30%;
                        font-size: 0.65rem;
                }
                .down_box{
                        padding-left: 1rem;
                        width: 100%;
                        box-sizing: border-box;
                }

大家自己参考这写,这个方法是下载到安卓手机内存根目录,downFile是自己生成的文件夹,下载完成后,会根据文件名字自动识别是否有这个文件,有就直接打开

欢迎前去appcan我的帖子查看.

转载注意声明原作者

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值