Camera.getPicture is not a function in ionic 3

2020-03-22 21:13发布

问题:

I am using camera plugin to click picture in ionic app, but i am getting the following error

OrdercancelPage.html:24 ERROR TypeError: Object(...) is not a function
at Camera.getPicture (index.js:125)
at OrdercancelPage.webpackJsonp.444.OrdercancelPage.getphoto (ordercancel.ts:24)
at Object.eval [as handleEvent] (OrdercancelPage.html:24)
at handleEvent (core.js:13547)
at callWithDebugContext (core.js:15056)
at Object.debugHandleEvent [as handleEvent] (core.js:14643)
at dispatchEvent (core.js:9962)
at core.js:10587
at HTMLButtonElement.<anonymous> (platform-browser.js:2628)
at t.invokeTask (polyfills.js:3)

My code is

getphoto(){
this.camera.getPicture({
  quality: 100,
  destinationType: this.camera.DestinationType.FILE_URI,
  encodingType: this.camera.EncodingType.JPEG,
  mediaType: this.camera.MediaType.PICTURE,
  sourceType: this.camera.PictureSourceType.CAMERA,
  targetWidth: 1024,
  targetHeight: 720
}).then((imageData) => {
  // imageData is a base64 encoded string
  this.base64Image = "data:image/jpeg;base64," + imageData;
}, (err) => {
  console.log(err);
});

}

I am using the plugin

import {   Camera } from '@ionic-native/camera/ngx';

回答1:

just remove your plugin and install-

npm install @ionic-native/camera@4.20.0 

This will solve your problem



回答2:

The problem was that , i was using plugin version 5.0.0 . I downgraded to version 4.x.x using package.json and it worked fine without using ngx to import.