h5+ IOS App中判斷本地文件是否存在 plus.io.resolveLocalFileSystemURL()
阿新 • • 發佈:2017-10-07
ted win nis () url issue control reat 不能
問題描述:首頁視頻首次加載後保存到了手機本地,再次加載時判斷視頻文件是否存在,存在則直接讀取,不存在則再去服務器下載並保存至本地。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
h5+ IOS App中判斷本地文件是否存在 plus.io.resolveLocalFileSystemURL()