AngularFireStorage图像上载
我有这个代码,它将图像上传到云存储,并将url存储在云存储中。如果我上传一张图片,效果很好,但当我选择多张图片并上传时,它只在CloudFireStore中保存一个图片urlAngularFireStorage图像上载,angular,ionic3,google-cloud-storage,google-cloud-firestore,Angular,Ionic3,Google Cloud Storage,Google Cloud Firestore,我有这个代码,它将图像上传到云存储,并将url存储在云存储中。如果我上传一张图片,效果很好,但当我选择多张图片并上传时,它只在CloudFireStore中保存一个图片urlrequestInfo.media是一个数组media:string[] 我的html文件 <image-upload [class]="'custom-class'" [style]="customStyle" (change)="onChange($event)" accept=".png, .jpg, .
requestInfo.media
是一个数组media:string[]代码>
我的html
文件
<image-upload [class]="'custom-class'" [style]="customStyle" (change)="onChange($event)" accept=".png, .jpg, .jpeg">
</image-upload>
import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams, ToastController } from 'ionic-angular';
import { RequestTimePage } from '../request-time/request-time';
import { AppServiceProvider } from '../../providers/app-service/app-service';
import { AngularFirestore } from 'angularfire2/firestore';
import { AngularFireStorage } from 'angularfire2/storage';
@IonicPage()
@Component({
selector: 'page-request-photo',
templateUrl: 'request-photo.html',
})
export class RequestPhotoPage {
description: string;
url: any;
public photos: any;
public base64Image: string;
imageURL: any[];
ready: boolean;
outPut: any = [];
files: any = [];
constructor(public navCtrl: NavController,
public navParams: NavParams,
public app: AppServiceProvider,
public afs: AngularFirestore,
public af: AngularFireStorage,
public toast: ToastController
) { }
// Custom upload photos button cofiguration
customStyle = {
selectButton: {
"font-size": "15px"
}
};
ionViewWillEnter() {
}
onChange(event) {
this.ready = false;
this.files = event.target.files;
console.log('file', this.files);
this.outPut.push(this.files);
console.log('files', this.outPut);
for (let image of this.outPut) {
let imageRef = this.af.storage.ref(`requests/${this.requestInfo.media}`);
imageRef.put(image[0])
.then(res => {
this.requestInfo.media = res.metadata.downloadURLs;
// this.imageURL = this.requestInfo.media;
this.ready = true;
}).catch(err => {
console.log("Unable to save photo", err);
this.toast.create({
message: 'There was error adding image',
duration: 3000,
position: 'bottom'
}).present();
this.ready = true;
});
}
}
}
您从哪个库获取此标记??我使用此库,通过在我的窗口上按住“ctrl”/“shift”按钮,可以选择多个文件。我还可以看到,默认情况下,他们在输入时使用了“多个”属性,如下所示:这不是问题所在,如果选择多个图像,应用程序就会崩溃