【问题标题】:Cordova File Transfer (+ ngcordova): downloading 'success' but doesn't download files on Android (maybe on iOS)Cordova 文件传输 (+ ngcordova):下载“成功”但不在 Android 上下载文件(可能在 iOS 上)
【发布时间】:2016-03-28 18:24:04
【问题描述】:

我遇到了 Cordova 文件传输的问题。 我想下载一个文件,似乎一切正常,我成功了,但根本没有下载文件。我花了一整天的时间试图弄清楚发生了什么,也许你能帮帮我吗?

这是我的代码:

JS

...
$scope.downloadFile = function () {

    // File for download
    var url = "http://www.digitallanding.com/wp-content/uploads/2012/12/download-speed-test-630.jpg";

    // Save location
    var targetPath = cordova.file.externalDataDirectory + "TestFile.jpg";

    // Trust every host certificate SSL
    var trustHosts = true;

    // Options to send
    var options = {};

    console.log(cordova.file.externalDataDirectory);
    $cordovaFileTransfer.download(url, targetPath, options, trustHosts)
      .then(function (result) {
          console.log(result);
      }, function (error) {
          console.error(error);
      }, function (progress) {
          // After
          })
      });
}
...

HTML:

...
<ion-list>
        <ion-item ng-click="downloadFile()">
            <h2 class="icon ion-document"> Test download</h2>
        </ion-item>
</ion-list>
...

这是我的成功日志:

这是我所拥有的:

  • 已安装、配置(使用 CSP)和初始化 (v1.2.1) 的白名单插件
  • 文件插件已安装 (+ ngcordova lib) 并已初始化 (v4.1.1)
  • 文件传输插件已安装 (+ ngcordova lib) 并已初始化 (v1.5.0)
  • 科尔多瓦 6.0.0
  • HTC One M8 与 Android Marshmallow

我尝试在 config.xml 中添加:

  <preference name="AndroidPersistentFileLocation" value="Compatibility" />
  <preference name="AndroidExtraFilesystems" value="sdcard,cache" />

因为我认为可能是我手机的错误,没有结果。

我还补充了:

  <allow-navigation href="*" />
  <allow-intent href="*" />
  <access origin="*" />

允许白名单不阻止任何东西,但也不改变。

对于这次成功/错误,我非常感谢一些帮助。

谢谢,

皮埃尔

【问题讨论】:

  • 您的 javascript 不标准。它是 Angular,因此您应该在 ionic 论坛上发帖寻求有关此问题的帮助。

标签: cordova ionic-framework file-transfer


【解决方案1】:

Cordova 文件插件 (v 4.1.1) 在 Android Marshmallow 中存在权限问题。此问题将不允许在 android 文件系统中创建文件夹。此问题现已修复。您可能必须从文件插件 github 中的 android src 文件夹中提取最新的 FileUtils.java 才能使其工作。希望对你有帮助

【讨论】:

  • 如何将文件传输到下载文件夹。因为没有cordova选项我可以看到android下载文件夹。文件正在下载到应用文件夹。任何建议。
  • @CalculatingMachine 建议您查看这个工作示例 - github.com/gandhirajan/Cordova_File_Operations 从服务器下载文件并将其写入 sdcard 文件夹。您可以扩展它以将文件存储在下载文件夹中。
  • 我们如何扩展下载文件夹。请看一下这个问题。 stackoverflow.com/questions/41152137/…我希望你能提出一些建议。
猜你喜欢
  • 1970-01-01
  • 2016-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多