Peter Pik
Peter Pik

Reputation: 11193

blob not downloading in safari

i'm trying to download a csv file, however it seem to work in all browsers except safari? how come is that. in safari it is just showing it in the browser?

Here is my code:

  var saveData = (function () {
  var a = document.createElement("a");
  document.body.appendChild(a);
  a.style = "display: none";
  return function (data, fileName) {
   var blob = new Blob([data], {type: "text/csv;charset=utf-8"}),
     url = window.URL.createObjectURL(blob);
          a.href = url;
          a.download = fileName;
          a.click();
                    setTimeout(function(){

          window.URL.revokeObjectURL(url);  
      }, 100); 
      };
  }());

Upvotes: 5

Views: 2216

Answers (1)

kjs3
kjs3

Reputation: 6178

Your using the HTML 5 download attribute on the anchor tag which Safari doesn't support.

http://caniuse.com/#feat=download

It's probably best to link to the file and set headers like so to tell the agent to download rather than display.

Content-Type: text/csv Content-Disposition: attachment; filename="whatever.csv"

Upvotes: 1

Related Questions