微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Ionic 2 fileTransfer.download没有在iOS上做出反应

我在 Android上开发了一款Ionic 2应用程序,现在我正试图在iOS上运行它.

该应用程序在初始登录时下载了很多文件,我使用Ionic-Native Transfer plugin这样做.在Android上一切正常,但在iOS上App似乎停留在fileTransfer.download()函数的承诺中,它甚至不会抛出错误.

示例代码

private downloadFile(downloadURL: string,filename: string) {
    return new Promise((resolve,reject) => {
        this.fileTransfer.download(downloadURL,this.file.dataDirectory + filename,true).then(_ => {
            console.log("download of " + filename + " complete");
            resolve("download finished");
        }).catch(err => {
            console.log(err);
            reject("download error");
        });
    });
}

我也尝试使用this.file.documentsDirectory代替iOS,但我仍然没有得到任何错误或成功输出.

downloadURL来自firebaseStorage链接,但我也使用通常的下载URL进行了测试.

我认为它确实与权限有关,但还没有找到解决方案.另一个假设是,iOS上的多个线程存在限制,有大约30-100个承诺.

但奇怪的是缺少错误消息,它只是卡住而不是单个下载完成.

任何帮助表示赞赏!

编辑:

我还没有弄清楚问题的原因,但与此同时,Ionic发布了一个新版本的Transfer Plugin,现在在官方文档中称为FileTransfer.一旦我更改了我的代码以使用新的FileTransfer插件,问题就消失了.

我希望这可以帮助那些遇到同样问题的人.

解决方法

我还没有弄清楚问题的原因,问题就消失了.

我希望这可以帮助那些遇到同样问题的人.

原文地址:https://www.jb51.cc/iOS/333199.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐