记一次ionic使用file插件cordova-plugin-f
2017-07-25 本文已影响786人
SmartSean
今天要做一个附件下载的功能,首先我得先在本地建立一个文件夹,用来存放下载的附件,那么我得先判断这个文件夹存在不存在,如果存在的话,就直接放在里面,如果不存在,就需要新建这个文件夹。
在 Android 原生里面判断很简单,但是由于没有使用过这个 cordova-plugin-file
插件,还是有点坑的。
首先,我找到了官网的介绍:
checkDir(path,dir)方法看到没,就是这么的高贵冷艳,对于一个一直写原生的我来说,真的是:
懵逼 p2460006574.jpg好吧,那就现在代码里面找到这个玩意:
image.png现在来分析下:
首先,会用正则判断我们传入的 dir ,接下来会拼接路径和目录,生成一个 directory ,
然厚再去调用 $window.resolveLocalFileSystemURL 这个方法去判断 directory ,如果返回的成功,那么就会
resolve ,失败会返回我们 err 的 code 和 message ;
code 和 message 也给我们定义了
现在很开心,那么继续往下写。
image.png看起来好像没什么问题,cordova.file.externalRootDirectory
是获取手机的根目录,'i5sesol'
是我们文件夹的名字。但是你一运行就会得到一个 ENCODING_ERR 的错误,那么我们进行修改:
这次就可以成功运行了。所以以后写代码的时候,还是要多看源码,源码才是最好的文档。