Невозможно открыть мобильную камеру в приложении Ionic - PullRequest
0 голосов
/ 20 июня 2019

Моя цель - загрузить несколько файлов либо через камеру, либо через хранилище файлов. Я использую ng2FileSelect для загрузки нескольких файлов на сервер через приложение Ionic, вот HTML-код:

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

Вкл.запустив его на локальном хосте в Chrome, он успешно предоставляет опции: открыть мобильную камеру или выбрать файлы из хранилища.Но, тестируя его на Ionic DevApp или на устройстве Android (через APK), он напрямую открывает хранилище файлов и не дает возможности открыть мобильную камеру.Возможно ли достичь указанной цели с помощью указанного выше тега ввода, или я должен использовать отдельный метод для загрузки файлов с камеры, такой как плагин камеры Cordova и т. Д.?

1 Ответ

2 голосов
/ 20 июня 2019

ng2FileSelect специфичен для браузеров и может создавать проблемы на нативном устройстве.Я предлагаю использовать плагин Cordova Camera.

Вы можете установить плагин с помощью этих команд

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
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...