在 Android 中尝试使用 ng-cordova 移动文件时没有任何反应

Nothing happens when trying to move a file with ng-cordova in Android

我正在尝试将存储在 "temp files" 目录中的图像移动到在文件系统中创建的目录,但没有任何反应,承诺不会 return 错误和成功,绝对没有任何反应.

我的应用程序中添加了 cordova 文件插件:

我使用 Android Studio 在我的设备中调试应用程序,我在日志 cat 中看到错误:

"Error in Success callbackId: File285873816 : TypeError: fileSystem.getFile is not a function" 来源:file:///android_asset/www/cordova.js

我发出警告在 ng-cordova.js 的回调函数中显示 fileSystem 对象,而这个对象不包含 getFile() 函数:

$window.resolveLocalFileSystemURL(path, function (fileSystem) {
    alert("fileSystem " + JSON.stringify(fileSystem));

有人可以帮助我吗?

确保您确实在项目中安装了该插件。根据我的经验,ng-cordova 有助于集成,但您仍然需要添加插件。

这是我的错误,在函数 moveFile 中,我在服务的 moveFrom 参数中发送了带有文件名的目录。正确的方法是只设置目录:

$cordovaFile.moveFile(moveFrom, currentFileName, cordova.file.dataDirectory + moveTo, newFileName)
  .then(function (success) {
      alert("Yeah Success " + JSON.stringify(success));
  }, function (error) {
      alert("Fucking error " + JSON.stringify(error));
  });

Cordova 文件可能 return 无效目录错误。

感谢您的关注。

JSON 文件格式不正确。检查所有这些。

在我的例子中,我在 Json 文件的最后一个“}”之后看到了一个无意义的文本 ("asd") 所以我添加了控制台日志并检测到 JSON 是错误的。并删除了其中的错误文本。