Я использую cordova-camera-plugin через ionic следующим образом:
<ion-fab-button (click)="takePicture()">
<ion-icon name="camera"> </ion-icon>
</ion-fab-button>
takePicture() {
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
correctOrientation: true
}
if (!this.isDesktop()) {
options.sourceType = this.camera.PictureSourceType.CAMERA;
} else {
options.sourceType = this.camera.PictureSourceType.PHOTOLIBRARY;
}
this.camera.getPicture(options).then((imageData) => {
this.currentImage = 'data:image/jpeg;base64,' + imageData;
}, (err) => {
// Handle error
console.log("Camera issue:" + err);
});
}
takePicture()
вызывается при нажатии на кнопку «Камера».
Если приложение запущенона Android или iOS КАМЕРА используется в качестве типа источника.В противном случае, если приложение запускается в браузере (режим веб-сайта), то PHOTOLIBRARY используется в качестве типа источника, чтобы пользователь мог выбрать файл со своего жесткого диска.
Единственная проблема, которую я вижу, заключается в том, что послещелкнув по кнопке (когда вызывается takePicture ()), кнопка выбора файла отображается самым простым способом в верхнем левом углу страницы (справа под ), вместо того, чтобы просто открывать собственный селектор файлов Windows.
Есть ли способ избежать этого дополнительного щелчка или, по крайней мере, есть способ встроить эту кнопку выбора файла в другое место на странице и с помощью собственного стиля?