我正在将相机图片上传到Firebase存储桶。完成后,我检索image-url以在我的视图中显示它。目前的编码看起来像这样:
Lib Example
Call from LibA.a
LibA->Fun:0
Call from LibA.a
LibA->Fun:1
Call from LibA.a
LibA->Fun:2
Call from App
Main->Fun:0
Call from App
Main->Fun:1
Call from App
Main->Fun:2
Call from LibA.a
LibA->Fun:3
它有效,但它并不是很好。我想把编码处理成数据库到提供者。在firebase存储上使用promises时如何实现?由于异步处理,我无法直接访问并返回提供程序方法中的URL:
takePicture() {
this.camera.getPicture(this.cameraOptions)
.then(data => {
let base64Image = 'data:image/jpeg;base64,' + data;
let storageRef = firebase.storage().ref();
let imageName = this.imageSrv.generateUUID();
let imageRef = storageRef.child(`${this.afAuth.auth.currentUser.uid}/${imageName}.jpg`);
imageRef.putString(base64Image, 'data_url').then(data => {
imageRef.getDownloadURL().then(data => { this.url = data.toString(); })
}
)
});
}
我还想为N个图像执行此操作以查看图库。 提前谢谢。