h5+ IOS App中判断本地文件是否存在 plus.io.resolveLocalFileSystemURL()
问题描述:首页视频首次加载后保存到了手机本地,再次加载时判断视频文件是否存在,存在则直接读取,不存在则再去服务器下载并保存至本地。Android平台中正常,IOS中一直不能准确判断文件是否存在,经测试即使文件存在也提示不存在。。。
解决办法:经过查询后得知,在传递url参数时需增加个前缀 "file:",代码如下
//判断视频是否存在 plus.io.resolveLocalFileSystemURL("file:" + sd_path, function(entry) { entry.file(function(file) { videoMedia.src = sd_path; videoMedia.autoplay = true; videoMedia.controls = false; videoMedia.load(); }); }, function(e) { //下载视频资源 var dtask = plus.downloader.createDownload(common.global_URL + jsonData[0].vdolink, { "filename": hb_path, "timeout": 10, "retry": 2 }, function(d, status) { if(status == 200) { videoMedia.src = sd_path; videoMedia.autoplay = true; videoMedia.controls = false; videoMedia.load(); } else { //直接跳转首页 mui.openWindow({ url: 'webview_main.html', id: 'webview_main.html', preload: true, show: { aniShow: 'pop-in' }, waiting: { autoShow: false } }); } }); dtask.start(); });
参考链接:https://stackoverflow.com/questions/21980112/cordova-resolvelocalfilesystemurl-success-call-back-failing-on-ios
https://issues.apache.org/jira/browse/CB-6116
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战