如何通过devapp将手机拍摄的照片上传到Ionic 4的Firebase存储中

问题描述 投票:0回答:1

我正在尝试上传通过手机的相机拍摄的照片(使用Ionic 4 Native Camera PluginDevapp)并将其上传到Firebase Storage。现在,我可以拍摄照片了,但是当我上传照片时,控制台不会引发任何错误,只是不执行任何操作。最后,照片不会上传到Firebase存储。

这是我的代码:

。html:

<ion-button (click)="takePicture()"></ion-button>

。ts:

  takePicture(){
    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) => {
       var storage = firebase.storage().ref();
       var photoRef = storage.child('Manager Images'); 
       console.log(photoRef); <-- This reference is correct

       let base64Image = 'data:image/jpeg;base64,' + imageData;
       console.log(base64Image);

       // Base64 formatted string
       var message = imageData;
       photoRef.putString(message , 'base64', { contentType: 'image/jpg' }).then((savedPicture) => {
       console.log(savedPicture.downloadURL);
});


   }, (err) => {
    // Handle error
   });
  }

我是否对.putString方法做错了?我参考了https://firebase.google.com/docs/storage/web/upload-files作为指导方针,但仍然无法使它起作用。请帮助!

angular firebase ionic4 firebase-storage ionic-devapp
1个回答
0
投票

更改此行,它应该起作用。

var message = base64Image;

imageData不是'base64'

© www.soinside.com 2019 - 2024. All rights reserved.