【问题标题】:Type error when ionic serving with FilePicker-Phonegap-iOS-Plugin in ionic 3在 ionic 3 中使用 FilePicker-Phonegap-iOS-Plugin 进行离子服务时输入错误
【发布时间】:2019-09-01 17:28:25
【问题描述】:

我正在开发一个 Ionic3 应用程序,并希望允许用户从他们的设备上传文件。我遇到了关于 cordova/phonegap 文件选择器插件的问题。 我按照这里的说明进行操作:

https://github.com/jcesarmobile/FilePicker-Phonegap-iOS-Plugin

但即使使用 Ionic 文档中给出的最简单的代码也不起作用:

import { IOSFilePicker } from '@ionic-native/file-picker/ngx';

constructor(private filePicker: IOSFilePicker) { }

this.filePicker.pickFile()
  .then(uri => console.log(uri))
  .catch(err => console.log('Error', err));

我不断收到此错误:

ERROR Error: Uncaught (in promise): TypeError: Object(...) is not a function
TypeError: Object(...) is not a function
    at IOSFilePicker.pickFile (index.js:27)

插件已正确安装在 app.module.ts 中,并且具有正确的 ngx 路径。

这里有一些关于版本的附加信息:

  • 离子框架:3.9.2
  • Ionic 应用脚本:3.1.8
  • Angular 核心:6.0.3
  • Angular 编译器 CLI:6.0.3
  • 节点:8.11.3
  • @ionic-native/file-picker: 5.4.0
  • rxjs:6.3.3
  • 打字稿:2.7.2

有什么想法吗?

谢谢

【问题讨论】:

  • 您收到错误,因为您已导入 ionic 4 组件并且您正在使用 ionic 3。
  • 检查我的答案。

标签: ios cordova ionic3 filepicker


【解决方案1】:

安装插件:

ionic cordova plugin add cordova-plugin-filepicker

npm install --save @ionic-native/file-picker@4

在你的应用模块中添加

import { IOSFilePicker } from '@ionic-native/file-picker';


@NgModule({
..
   providers:[
      IOSFilePicker
   ]
})

现在在你的页面组件中使用

import { IOSFilePicker } from '@ionic-native/file-picker';

类... 构造函数(私有文件选择器:IOSFilePicker){}

getFile(){

    this.filePicker.pickFile()
      .then(uri => console.log(uri))
      .catch(err => console.log('Error', err));

}

参考。 https://ionicframework.com/docs/v3/native/ios-file-picker/

【讨论】:

  • 将插件降级到版本 4 并从路径中删除 ngx 解决了我的问题。谢谢
  • 如果您正在创建新项目,最好使用 ionic 4
猜你喜欢
  • 2019-02-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-19
  • 2018-03-24
  • 1970-01-01
相关资源
最近更新 更多