在webapp中,有时候可能会遇到下载文件的需求,包括什么zip,word,pdf等下载,本章主要实现在Hbuider中的下载文件需求,你可能会说,这有什么难得,直接winddow.location=下载地址不就齐活,说的不错,在手机网页网站中这种确实可以调起浏览器的下载,进而实现下载,但在web2App中,这种方法存在弊端,在其App里使用该方法,会让App打开一个新页面,不是我们所写的页面,这个是Hbuider内置的,具体是什么我也没有细究,我试过了下载word,下载pdf,zip都是打开了一个新页面,如下:
通过window.location就会打开这样的页面
过了一会就会出现无法连接服务器,线上的同样结果
点击取消就会回退到上一页面
当然这种后台会有一个下载通知
上述的问题如果Hbuider官方团队能解决的话体验还是不错的,但,截至目前没有相应的方案出台,希望尽快解决。
2.解决方案(替代方法)
我采用了Hbuider+Runtime里的类原生方案,详见Hbuider官网了解;总共采用了三种,nativeUI、Downloader、openFile、Push(后来由于没有处理好推送消息的点击打开文件事件,于是不再采用推送),放上两份代码以供参考;
采用推送的一份,可以尝试编写推送消息 推送消息的实例 不含推送,通过openFile打开文件 点击打开文件即可调用手机自带软件打开以上就是Hbuider文件下载的曲线救国方案,如有错误,欢迎指证;
网友评论