1

I am trying to display a blob image. In IE 11 it is not supported and displays a broken image, so I have created a pipe which converts blob image to base 64.

Is there a way where I can bind this pipe to a newly created image element ?

Following code doesn't seem to be working,

const uploadedImgElement = document.createElement('img');
uploadedImgElement.src = response.data.attachmentDetails.fileFullPath + '| blobToBase64';

where blobToBase64 is a pipe.

youri
  • 1,140
  • 8
  • 19

2 Answers2

1

You should declare the Pipe inside of your Component

@Component({
  ...,
  providers: [ BlobToBase64Pipe ]     // Declare it here
})
export class SampleComponent implement OnInit {

  // Add it on your constructor 
  constructor(private blobToBase64Pipe: BlobToBase64Pipe) {}

  ngOnInit() {
    ...

    const filePath = response.data.attachmentDetails.fileFullPath; 

    // Perform your pipe transform here
    const convert = this.blobToBase64Pipe.transform(filePath);
  }

}
KShewengger
  • 7,853
  • 3
  • 24
  • 36
0

You could also refer to this sample to add an image element in Angular application:

html code:

<div id="div_container">

</div>

Component.ts:

export class AboutComponent implements OnInit {

  constructor(private sanitizer:DomSanitizer) { }
  ngOnInit() {

    const newimage = document.createElement("img");
    newimage.src = this.base64Image;
    document.getElementById("div_container").innerHTML = newimage.outerHTML;

  }

  base64Image='data:image/png;base64, base64data';
}

The screenshotas like this.

Zhi Lv
  • 18,845
  • 1
  • 19
  • 30