今天要做一個附件下載的功能,首先我得先在本地建立一個資料夾,用來存放下載的附件,那麼我得先判斷這個資料夾存在不存在,如果存在的話,就直接放在裡面,如果不存在,就需要新建這個資料夾。
在 Android 原生裡面判斷很簡單,但是由於沒有使用過這個 cordova-plugin-file
外掛,還是有點坑的。
首先,我找到了官網的介紹:

看到沒,就是這麼的高貴冷豔,對於一個一直寫原生的我來說,真的是:


好吧,那就現在程式碼裡面找到這個玩意:

現在來分析下:
首先,會用正則判斷我們傳入的 dir ,接下來會拼接路徑和目錄,生成一個 directory ,
然厚再去呼叫 $window.resolveLocalFileSystemURL 這個方法去判斷 directory ,如果返回的成功,那麼就會
resolve ,失敗會返回我們 err 的 code 和 message ;
code 和 message 也給我們定義了

現在很開心,那麼繼續往下寫。

看起來好像沒什麼問題,cordova.file.externalRootDirectory
是獲取手機的根目錄,`i5sesol`
是我們資料夾的名字。但是你一執行就會得到一個 ENCODING_ERR 的錯誤,那麼我們進行修改:

這次就可以成功執行了。所以以後寫程式碼的時候,還是要多看原始碼,原始碼才是最好的文件。