Я пытаюсь обрезать изображение с помощью библиотеки angular "ngx-image-cropper". После обрезки я получаю изображение в формате base64, поэтому хочу преобразовать это изображение в формат файла. Я использую следующий код для преобразования строки base64 в BLOB, а затем BLOB в формат файла.
fileChangeEvent(event: any): void {
this.imageChangedEvent = event;
}
imageCropped(event: ImageCroppedEvent) {
this.croppedImage = event.base64;
var result = this.b64toBlob(this.croppedImage);
var file = new File([result], 'uploaded_file.jpg', {type: 'image/jpeg', lastModified: Date.now()});
}
b64toBlob(dataURI) {
var byteString = atob(dataURI.split(',')[1]);
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteString.length; i++) {
ia[i] = byteString.charCodeAt(i);
}
return new Blob([ab], { type: 'image/jpeg' });
}
Но при преобразовании BLOB в файл я получаю сообщение об ошибке «ОШИБКА TypeError: Файл не является конструктором». Что я должен сделать, чтобы решить эту проблему?
Заранее спасибо.