Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将图像从android文件系统上载到Firebase存储_Android_Angular_Firebase_Ionic4_Firebase Storage - Fatal编程技术网

将图像从android文件系统上载到Firebase存储

将图像从android文件系统上载到Firebase存储,android,angular,firebase,ionic4,firebase-storage,Android,Angular,Firebase,Ionic4,Firebase Storage,我目前正在创建一个页面,允许用户拍摄自己的身份证和自拍照片,但是,我无法使用submitpicture()从文件系统获取文件以上载 这是我的打字脚本代码: import { Component, OnInit } from '@angular/core'; import { File } from '@ionic-native/file/ngx'; import { Camera, CameraOptions } from '@ionic-native/camera/ngx'; import *

我目前正在创建一个页面,允许用户拍摄自己的身份证和自拍照片,但是,我无法使用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!

}
我想知道是否可以使用submitpicture()从android系统获取图像,并在上传到firebase存储之前将其存储在变量中

非常抱歉给您带来不便,谢谢

致以最良好的祝愿,
Dan

在执行
submitpicture
之前是否调用
takenric
?是的,在调用submitpicture()之前会调用它。问题是什么?你有什么错误吗?打印此.nricimageData时,您会看到什么?这是它。我想知道是否有可能只上传带有文件目录的图片,但我认为这是不可能的。或者还有其他上传图片的方式吗?到目前为止,我没有任何错误。