Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mobile Safari download issue : The operation couldn’t be completed. (webkitblobresource error 1.)

My Angular application has a pdf download option. When i run my application in Iphone(IOS 12) Safari browser I get the following error message as shown in the image

How can i resolve it?

ios_safari_issue

like image 734
Saikrishna SB Avatar asked Jan 24 '19 04:01

Saikrishna SB


1 Answers

If you are injecting an ancor tag into DOM programmatically as your solution, make sure you do not clear that up too soon.

For me 100ms worked fine but since it's invisible either way I chose 1 second delay on clearing DOM up.

Example code:

this.fileApi.download(<your args>).subscribe((data: Blob) => {
    const url = window.URL.createObjectURL(data);
    const a = document.createElement('a');
    a.style.display = 'none';
    a.href = url;

    // the filename you want
    a.download = <your filename>;
    document.body.appendChild(a);
    a.click();

    setTimeout(() => {
      window.URL.revokeObjectURL(url);
      document.body.removeChild(a);
    }, 1000);
  })
like image 63
Raimo Johanson Avatar answered Sep 24 '22 12:09

Raimo Johanson