1. 程式人生 > >h5+ IOS App中判斷本地文件是否存在 plus.io.resolveLocalFileSystemURL()

h5+ IOS App中判斷本地文件是否存在 plus.io.resolveLocalFileSystemURL()

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()