I have an ionic 3 app; I am working on upload profile picture functionality. In this, I want to select the image from either gallery or capture image using the camera. After that, I will have two images/image_paths. I want to upload these two images along with user_id, access_token
Select Image From Gallery let option = { title: 'Select Picture', message: 'Select Least 1 Picture', maximumImagesCount: 1, outType: 0 };
this.imagePicker.getPictures(option).then(results => {
for (var i = 0; i < results.length; i++) {
// alert('Image URI: ' + results[i]);
this.imageSelected = "data:image/jpeg;base64," +results[i];
// this.imageSelected = results[i];
let option = {
quality: 100,
targetHeight: 400,
targetWidth: 400,
};
this.crop.crop(this.imageSelected, option).then((data) => {
this.imageCropped = "data:image/jpeg;base64," +data;
// alert(this.imageCropped);
this.saveProfileImage(this.imageSelected, this.imageCropped);
}, err => {
this.imageCropped = '';
alert(err);
});
}
}, err => {
this.imageSelected = '';
alert('Error' + err);
})
Select an image from the camera let options: CameraOptions = { quality: 100, destinationType: this.camera.DestinationType.DATA_URL, encodingType: this.camera.EncodingType.JPEG, mediaType: this.camera.MediaType.PICTURE }
this.camera.getPicture(options).then((imageData) => {
// alert(imageData);
this.imageSelected = "data:image/jpeg;base64," +imageData;
let option = {
quality: 100,
targetHeight: 400,
targetWidth: 400,
};
this.crop.crop(this.imageSelected, option).then((data) => {
this.imageCropped = "data:image/jpeg;base64," +data;
this.saveProfileImage(this.imageSelected, this.imageCropped);
}, err => {
this.imageCropped = '';
alert(err);
});
}, (err) => {
this.imageSelected = '';
alert('Error' + err);
});
Please see the above code and if it is right, suggest me how to write upload function with either form data or any another method