Я решил это с помощью ng2-img-max библиотеки:
uploadDesktopFile() {
let file = this.documentEl.nativeElement.files[0];
const maxHeight = 800;
const maxWidth = 600;
let self = this;
this.ng2ImgMax.resizeImage(file, maxHeight, maxWidth).subscribe(
result => {
let reader = new FileReader();
reader.readAsDataURL(result);
reader.onloadend = function () {
self.imageURI = reader.result; // we've got resized base64 sequence at this stage
//self.uploadFile();
}
reader.onerror = function (error) {
console.error('Error: ', error);
};
},
error => {
console.error('Error: ', error);
}
);
}