Я создаю приложение Ionic с Angular и Firebase.
Я хочу иметь возможность загружать изображения и gif в мою базу данных Firebase, но я только смог заставить image
работать.Кроме того, я не хочу видео.
Мой код выглядит следующим образом:
takePhoto(sourceType:number) {
const options: CameraOptions = {
quality: 40,
destinationType: this.camera.DestinationType.DATA_URL,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE,
correctOrientation: true,
sourceType:sourceType,
}
this.camera.getPicture(options).then((imageData) => {
let base64Image = 'data:image/jpeg;base64,' + imageData;
this.uploadToStorage(base64Image);
}, (err) => {
// Handle error
});
}
uploadToStorage(src) {
this.uploadProgress = true;
let storageRef = firebase.storage().ref();
// Create a timestamp as filename
this.imageFileName = Math.floor(Date.now() / 1000) + "_" + this.userData.uid;
// Create a reference to 'images/todays-date.jpg'
const imageRef = storageRef.child('posts/'+this.imageFileName+'.jpg');
imageRef.putString(src, firebase.storage.StringFormat.DATA_URL).then((snapshot)=> {
snapshot.ref.getDownloadURL().then(downloadURL => {
this.imageURL = downloadURL;
this.uploadProgress = false;
this.uploadSuccess = true;
console.log(this.imageURL)
this.logEvent("Uploaded Image");
});
}, (err) => {
console.log(err)
});
}
Но это позволяет только неподвижные изображения.В соответствии с документами для Ионная камера вы можете изменить mediaType: this.camera.MediaType.PICTURE
на mediaType: this.camera.MediaType.ALLMEDIA
, но это не работает для меня.Это работает, когда я тестирую на своем компьютере, но не на iOS или Android.
Есть идеи, как разрешить выбор изображений и картинок?Спасибо!