【问题标题】:File transfer download no react on production build文件传输下载对生产构建没有反应
【发布时间】:2018-03-03 01:08:11
【问题描述】:

我在开发模式下使用 filetransfer.download 非常好 (ionic cordova run android)。但是当我想在生产模式下使用它时(ionic cordova run android --prod),我什么也看不到。实际上, entry 和 error 都没有被调用。 我的代码:

this.fileTransfer.download(encodeURI(url), <file-path> ,  false , some header ).then((entry) => {

          this.messageCtrlService.showAlert(JSON.stringify(entry.toURL()), 'Success');

       }, (error) => {
         this.messageCtrlService.showAlert(JSON.stringify(error), 'Error');

       });

已编辑: 当我使用此命令构建应用程序时:

ionic cordova --minifycss --aot --optimizejs --release

一切正常。无论如何是为了防止某些插件(如文件传输)缩小?怎么样?

【问题讨论】:

  • 这是在this.platform.ready()里面吗?
  • @suraj 是的,我首先初始化应用程序。实际上,当我运行(ionic cordova run --minifyjs)文件传输不起作用时。我无论如何都在寻找防止缩小某些文件! (我是说文件传输插件)
  • 也许你可以使用ionic cordova run android --prod --verbose获取日志
  • 我在日志中看不到任何点@suraj
  • 根据论坛的说法,使用 prod 标志运行似乎存在很多问题。forum.ionicframework.com/t/… .. 如果它与缩小或构建过程有关.. 你可以看看是否有任何问题在日志中。

标签: cordova ionic2 cordova-plugins file-transfer


【解决方案1】:

不确定这是否对任何人有帮助,但在我的情况下,缩小使代码运行得更快,因此我的一个提供程序在devideready 事件可以被触发之前执行this.fileTransfer = this.transfer.create();

我用以下方法修复了它:

constructor(private transfer: FileTransfer,
              private platform: Platform,
              private other: Other) {
    this.platform.ready().then(() => {
        this.fileTransfer = this.transfer.create();
    });
  }

【讨论】:

  • 这对我有用,调试了几个小时,找出下载文件不起作用的原因。 +1 用于解决缩小问题
猜你喜欢
  • 1970-01-01
  • 2018-10-10
  • 2020-10-16
  • 2021-04-04
  • 1970-01-01
  • 2020-11-17
  • 1970-01-01
  • 2020-01-08
  • 2017-12-08
相关资源
最近更新 更多