【问题标题】:FileTransfer plugin, download not starting on iOS, no errors on callbacksFileTransfer 插件,在 iOS 上没有开始下载,回调没有错误
【发布时间】:2017-12-06 19:59:27
【问题描述】:

我正在尝试创建一个 Ionic 3 应用程序,该应用程序从 Internet 下载图像并将其存储在设备文件系统中。 在 Android 设备上一切正常,在 iOS 上,对 FileTransferObject.download(...) 的调用似乎什么也没做;我没有收到错误回调,也没有下载任何内容。 我创建了一个示例 repo,您​​可以在以下位置查看:https://github.com/andreabarani/TestFileTransferPlugin 您会在其中找到 2 个分支:

  • 'ma​​ster' 使用 1.6.3 版插件
  • file-transfer-plugin-1.7.0’使用版本 1.7.0

两个版本在 iOS 上产生相同的结果,而 1.7.0 使 Android 构建失败。

非常感谢任何帮助,提前 tnx 安德烈亚

【问题讨论】:

  • 不是很有帮助,但我有 2 个注释; 1. 我使用的是 v1.6.3,最近在使用 v1.7.0 构建我的应用程序时也遇到了问题。 2. 在 platform.ready() 语句中包装你的插件方法。
  • @JoeriShoeby:tnx 的建议,不幸的是它没有解决
  • @JoeriShoeby:现在我解决了问题,我认为您的建议是正确的,因为我在“platform.ready()”语句中包装了对插件的所有调用,但没有创建插件本身的实例。所以再次tnx
  • 太好了,我能帮上忙!

标签: ios cordova-plugins ionic3 file-transfer ionic-native


【解决方案1】:

我找到了解决方案:我的错误是过早地创建 FileTransferObject,可能是在平台尚未准备好时;我的代码是这样的:

    @Component({
      selector: 'page-home',
      templateUrl: 'home.html',
      providers: [FileTransfer, File]
    })
    export class HomePage {
      private fileTransfer: FileTransferObject = this.transfer.create(); // <-- here is too soon to create it
    ...

这是正确的做法:

    @Component({
      selector: 'page-home',
      templateUrl: 'home.html',
      providers: [FileTransfer, File]
    })
    export class HomePage {
      private fileTransfer: FileTransferObject;
      ...
      ...

      constructor(public navCtrl: NavController, private transfer: FileTransfer, private file: File, private alertCtrl: AlertController, private platform: Platform) {
      }

      downloadFile() {
        // using a local constant is also a valid alternative,
        // the important thing is to instantiate the object at this time
        // const fileTransfer: FileTransferObject = this.transfer.create();
        this.fileTransfer = this.transfer.create();

关于 FileTransfer 插件 1.7.0 版本的 Android 编译问题,通过将 Android Studio 从 2.3.3 更新到版本 3.0.1 解决了所有问题。

完整的工作应用程序可在此处获得:https://github.com/andreabarani/TestFileTransferPlugin

【讨论】:

    猜你喜欢
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 2014-07-30
    • 1970-01-01
    • 2017-05-03
    相关资源
    最近更新 更多