Загрузка изображения из файловой системы android в Firebase Storage - PullRequest
0 голосов
/ 29 января 2020

В настоящее время я создаю страницу, которая позволяет пользователям делать снимки как своих удостоверений личности, так и себя ie, однако я не могу получить файлы из файловой системы, чтобы загрузить их с помощью submitpicture ().

Вот мой машинописный код:

import { Component, OnInit } from '@angular/core';
import { File } from '@ionic-native/file/ngx';
import { Camera, CameraOptions } from '@ionic-native/camera/ngx';
import * as firebase from 'firebase';
import { EmailComposer } from '@ionic-native/email-composer/ngx';
import { ModalController } from '@ionic/angular';

@Component({
  selector: 'app-verifyidentity',
  templateUrl: './verifyidentity.page.html',
  styleUrls: ['./verifyidentity.page.scss'],
})
export class VerifyidentityPage implements OnInit {

  constructor(public camera: Camera, public file: File, private modalController: ModalController, public emailComposer: EmailComposer) { }

  nric: any;
  selfie: any;
  nricimageData: any;
  selfieimageData: any;

  ngOnInit() {
  }

  takenric() {
    const options: CameraOptions = {
      quality: 100,
      destinationType: this.camera.DestinationType.FILE_URI,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE,
      saveToPhotoAlbum: true,
      cameraDirection: 1
    }

    this.camera.getPicture().then((imageData) => {
      this.nricimageData = imageData
      let filename = imageData.substring(imageData.lastIndexOf('/') + 1);
      let path = imageData.substring(0, imageData.lastIndexOf('/') + 1);
      this.file.readAsDataURL(path,filename).then((base64data) => {
        this.nric = base64data;
        firebase.storage().ref().child("test").put(imageData).then(snapshot => {
          console.log('Uploaded image ');
        });
      })
    });     
  }

  takeselfie() {
    const options: CameraOptions = {
      quality: 100,
      destinationType: this.camera.DestinationType.FILE_URI,
      encodingType: this.camera.EncodingType.JPEG,
      mediaType: this.camera.MediaType.PICTURE,
      saveToPhotoAlbum: true,
      cameraDirection: 1
    }

    this.camera.getPicture().then((imageData) => {
      this.selfieimageData = imageData
      let filename = imageData.substring(imageData.lastIndexOf('/') + 1);
      let path = imageData.substring(0, imageData.lastIndexOf('/') + 1);
      this.file.readAsDataURL(path,filename).then((base64data) => {
        this.selfie = base64data;
        firebase.storage().ref().child("test").put(imageData).then(snapshot => {
          console.log('Uploaded image ');
        });
      })
    });     
  }

  submitpicture() {
    firebase.storage().ref().child("nric").put(this.nric); // this does not work!

}

Мне было интересно, можно ли получить изображение из системы android с помощью пути к файлу и сохранить его в переменной перед загрузкой в firebase хранилище с submitpicture ().

Приносим извинения за доставленные неудобства и благодарим.

С уважением, Дэн

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...