×

注意!页面内容来自https://blog.csdn.net/qq_31883963/article/details/80324609,本站不储存任何内容,为了更好的阅读体验进行在线解析,若有广告出现,请及时反馈。若您觉得侵犯了您的利益,请通知我们进行删除,然后访问 原网页

vue+h5做的App使用api进行文件的下载自动安装打开

在Vue结合H5构建的App中,通过API进行文件下载时遇到安装失败的问题,原因可能是下载的.wgt安装包损坏。解决方法是确保后台交互正确,并使用encodeURI处理URL。若下载文件为手机支持格式,可以利用plus.runtime.openFile打开。
        本人第一次写博客,菜鸟一只,也不大会用语言表述,写博客只是单纯记录下自己遇到的问题,并且记录下来以便日后使用的时候可以有个思路。如果能够帮助到别人就更好了。
        现在公司的项目需要用vue做一个安卓app,需要实现app的自动更新功能。我的设计方案就是打开App先提交请求到后台,需要更新会返回下载地址。
创建下载的代码:
        		// 下载最新版本	
		JX_download(url){
			plus.nativeUI.showWaiting( "下载中..." ); 
	                //创建下载管理对象
		        var SX_down= plus.downloader.createDownload(url,{}function ( dstatus ) {	
		        // 下载完成
		        if ( status == 200 ) { 
		    	    plus.nativeUI.closeWaiting();
		    	    //下载成功后的回调函数
		            plus.nativeUI.toast( "下载成功,准备安装" + d.filename );
	                    plus.runtime.install(
	            	        d.filename,
	            	        {},
	            	        function(){
	                	        plus.nativeUI.toast('安装成功');
	                	        plus.runtime.restart();
	                        },
	                        function(e){
	                	        plus.nativeUI.toast(d.filename+'安装失败');

                                        alert(JSON.stringify(e))

	                        }
	            	    );
		        } else {
		             alert( "下载失败 " + status ); 
		        }  
		    });

                    //开始下载任务

		    SX_down.start(); 
		},

        我在测试的时候一直提示安装失败,当时找了很久才知道原来下载回来的安装包是损坏的,这个是跟后台的交互出了问题。我当时是用encodeURI函数对url地址进行处理才可以。自动安装需要下载回来的是.wgt格式或者安装包格式。

        如果下载回来的是手机支持打开的文件,可以用plus.runtime.openFile(d.filename);进行文件的打开。


        
        
确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
参与评论 您还未登录,请先 登录 后发表或查看评论
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值