无法在 Ionic 应用程序中打开手机相机

Unable to open mobile camera in Ionic app

我的 objective 是通过相机或文件存储上传多个文件,我使用 ng2FileSelect 通过 Ionic 应用程序将多个文件上传到服务器,这是 HTML:

<input (change)="upload()" type="file" ng2FileSelect
[uploader]="uploader" multiple accept="image/*" capture="environment">

在 运行 chrome 上的本地主机上,它成功地提供了选项,可以打开移动相机或从存储中 select 文件。但是在 Ionic DevApp 或 android 设备(通过 APK)上对其进行测试时,它直接打开文件存储并且不提供打开移动相机的选项。是否可以通过上面的输入标签实现上述objective,或者我必须使用单独的方法从相机上传文件,例如Cordova相机插件等?

ng2FileSelect 特定于浏览器,它可能会在本机设备上产生问题。我的建议是使用cordova相机插件。

您可以通过此命令安装插件

ionic cordova plugin add cordova-plugin-camera
npm install @ionic-native/camera

支持以下平台

  • Android
  • 浏览器
  • iOS
  • Windows

用法

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

constructor(private camera: Camera) { }

...


const options: CameraOptions = {
  quality: 100,
  destinationType: this.camera.DestinationType.FILE_URI,
  encodingType: this.camera.EncodingType.JPEG,
  mediaType: this.camera.MediaType.PICTURE
}

this.camera.getPicture(options).then((imageData) => {
 // imageData is either a base64 encoded string or a file URI
 // If it's base64 (DATA_URL):
 let base64Image = 'data:image/jpeg;base64,' + imageData;
}, (err) => {
 // Handle error
});