Мне нужна помощь, чтобы отправить изображение в хранилище FireBase от ионной.Итак, я делаю снимок с этой функцией:
async takePicture() {
const options: CameraOptions = {
quality: 100,
destinationType: this.camera.DestinationType.FILE_URI,
encodingType: this.camera.EncodingType.JPEG,
mediaType: this.camera.MediaType.PICTURE
}
try {
let imageURI = await this.camera.getPicture(options);
let newImageURI = await this.cropImage(imageURI);
let imageSanitized = await this.encodeFile(newImageURI);
this.imgSrc = imageSanitized;
} catch (e) {
console.error(JSON.stringify(e));
}
}
И обрезаю с помощью этой функции:
cropImage(imgURI): Promise<string> {
return new Promise((resolve,reject) => {
this.cropService.crop(imgURI, { quality: 100 }).then((newImageURI: string) => {
resolve(newImageURI);
}, (err) => {
reject(err);
})
})
}
заканчивая Я кодирую с помощью этой функции:
encodeFile(ImageURI: string): Promise<any>{
return new Promise((resolve, reject) => {
this.base64.encodeFile(ImageURI).then((base64File: string) => {
this.imgUri = base64File;
resolve(this.domSanitizer.bypassSecurityTrustResourceUrl(base64File));
}, (err) => {
reject(err);
})
})
}
this.imgSrc - моё очищенное изображение, и это очень хорошо видно в моем file.html.Однако мне нужно отправить это изображение в хранилище Firebase.Для этого я создал эту функцию:
uploadToStorage(imgString) {
console.log(imgString);
this.storage.child('exemplo.JPEG').putString(imgString, 'data_url').then((res) => {
console.log(res);
}, (error) => {
console.error(error);
});
}
imgString - кто получает значение this.domSanitizer.bypassSecurityTrustResourceUrl (base64File) или base64File из функции encodeFile.
Я не получаюошибка в функции загрузки, однако, я не получаю успех, у меня ничего не появляется.
Как правильно отправить изображение на сервер?