Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { HttpClient } from '@angular/common/http';
- import { Observable, Observer } from 'rxjs';
- import { switchMap, take } from 'rxjs/operators';
- export class BlobToBase64Converter {
- convertBlobToBase64(http: HttpClient, fileUrl: string): Observable<string> {
- return http.get(fileUrl, { responseType: 'blob' }).pipe(
- take(1),
- switchMap((blob: Blob) => this.converter(blob).pipe(take(1)))
- );
- }
- private converter(data: Blob): Observable<string> {
- return Observable.create((observer: Observer<string>) => {
- const reader = new FileReader();
- reader.readAsDataURL(data);
- reader.onloadend = () => {
- observer.next(reader.result as string);
- observer.complete();
- };
- reader.onerror = () => {
- observer.error('Error while converting to base64');
- observer.complete();
- };
- });
- }
- }
Add Comment
Please, Sign In to add comment