【问题标题】:$cordovaFile.checkDir says folder does not exist but $cordovaFile.createDir says folder already exists$cordovaFile.checkDir 说文件夹不存在但 $cordovaFile.createDir 说文件夹已经存在
【发布时间】:2015-07-23 05:07:18
【问题描述】:

我正在尝试使用此处记录的 ngCordova 文件插件:http://ngcordova.com/docs/plugins/file/,但出现了奇怪的行为。

如果文件夹不存在,我正在尝试创建它。我正在使用以下方法测试它的存在:

$cordovaFile.checkDir(cordova.file.dataDirectory, 'inbound')

现在返回NOT_FOUND_ERR,所以我随后尝试通过调用来创建文件夹:

$cordovaFile.createDir(cordova.file.dataDirectory, 'inbound', false);

但这会返回PATH_EXISTS_ERR

为什么 checkDir 会告诉我它不存在,然后 createDir 告诉我它存在?

注意:这是使用 Android 设备。

【问题讨论】:

    标签: javascript cordova ionic-framework cordova-plugins


    【解决方案1】:

    那些是承诺,你是这样使用它们的吗:

    $cordovaFile.checkDir(cordova.file.dataDirectory, "inbounds")
          .then(function (success) {
            // success
            alert("status " + success);
    
    
          }, function (error) {
            // error
          });
    

    你也配置了你的 config.xml 吗?

    <preference name="iosExtraFilesystems" value="library,library-nosync,documents,documents-nosync,cache,bundle,root" />
    <preference name="AndroidExtraFilesystems" value="files,files-external,documents,sdcard,cache,cache-external,root" />
    

    【讨论】:

    • 我将它们用作承诺,实际上是承诺的错误处理程序将错误返回给我
    • 您从哪里获得有关配置 config.xml 的信息?我发现与cordovaFile有关的任何资源都没有提及它:o(
    • cordova 插件官方文档:github.com/apache/cordova-plugin-filengCordova 是 ionic 团队开发的一个库,用于抽象 Cordova 的一些功能。始终参考官方文档;)
    • ngCordova 文档中确实存在每个官方文档的链接
    • 嗯,我现在已经将 2 行添加到我的 config.xml 中,重建了项目,但我仍然得到相同的结果
    【解决方案2】:

    好的,尽管 aorfevre 开始了整个过程,但我将其添加为答案。我遇到的主要问题是我没有在我的 config.xml 文件中添加必要的行,该文件提供了对设备文件系统的访问。

    尽管这样做后我仍然遇到问题,但我做错的关键是在现有安装的顶部构建和重新部署应用程序。一旦我手动卸载了该应用程序并重新部署它,它就开始正常工作了。

    【讨论】:

      猜你喜欢
      • 2018-02-28
      • 2014-06-29
      • 2014-03-14
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 2013-10-18
      相关资源
      最近更新 更多