5

I am trying to load a pdf document in an tag in angular2 Dynamically, and when I am trying to change the URL iths throwing an error saying

SafeResourceUrlImplchangingThisBreaksApplicationSecurity: "localhost:8002/pdf.pdf"proto: SafeValueImplconstructor: SafeResourceUrlImpl()getTypeName: ()proto: Object

localhost:8002/pdf.pdf Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME

Here's how I am setting the URL, This method will be called when I need to show the component

public show(): void {
    this.visible = true;
    this.visibleAnimate = true;
    console.log(this.src)
    this.DocURL = this.sanitizer.bypassSecurityTrustResourceUrl(this.src);
    console.log(this.DocURL);
}


constructor(private sanitizer: DomSanitizer) {
    this.visible = false;
    this.visibleAnimate = false;

    this.DocURL = this.sanitizer.bypassSecurityTrustResourceUrl(window.location.host + "/pdf.pdf");
}

Heres the HTML Part

<div style=" height:650;width:870">
    <object width="870" height="650" type="application/pdf" [data]="DocURL" id="doc" #doc>
        <p>Not able to display the document</p>
    </object>
    <div style="display:none">
        <iframe id="fred" #fred style="border:1px solid #666CCC" title="PDF in an i-Frame" [src]="DocURL" frameborder="1" scrolling="auto" height="1100" width="850" ></iframe>
    </div>
</div>

The URL I am supplying will be dynamic

masud_moni
  • 1,121
  • 16
  • 33
Amarnath R Shenoy
  • 5,121
  • 8
  • 24
  • 32

1 Answers1

1

Your URL does not have a protocol. Try the following:

this.DocURL = this.sanitizer.bypassSecurityTrustResourceUrl(window.location.protocol + '//' + window.location.host + "/pdf.pdf");
smnbbrv
  • 23,502
  • 9
  • 78
  • 109
  • what to do if i have pdf like https + : + // abc.com/mytest.pdf ? (+ is for giving hint bez posting is not allowed ) – Anuj Apr 28 '18 at 06:40