javascript - Saving CSV file using blob in Safari -


i have codes below generate download link users download .csv file on site.

var link = document.createelement("a"); link.id = "csvdwnlink"; window.url = window.url || window.webkiturl;  var csv = "\ufeff" + csv,     blob = new window.blob([csv], {type: 'text/csv, charset=utf-8'}),     csvurl = window.url.createobjecturl(blob),     filename = 'export.csv';  $("#csvdwnlink").attr({'download': filename, 'href': csvurl}); $('#csvdwnlink')[0].click(); document.body.removechild(link); 

i hope user click download link csvurl download cvs file.
works on chrome. however, when click same link using safari, directly show me content of csv file in tab.

how solve problem safari show saving file window user select path want save file instead of showing content of cvs file directly when click download link?
hope me recommendations or alternative methods.
in advance!

== updated ==
find out solutions here
solution 1, solution 2

the code be:

var link = document.createelement("a"); link.id = "csvdwnlink";  document.body.appendchild(link); window.url = window.url || window.webkiturl; var csv = "\ufeff" + csv,     csvdata = 'data:attachment/csv;charset=utf-8,' + encodeuricomponent(csv),     filename = 'filename.csv'; $("#csvdwnlink").attr({'download': filename, 'href': csvdata}); $('#csvdwnlink')[0].click(); document.body.removechild(link); 

safari download file user, however, file name unknown, it's because safari don't support 'download' attribute yet raphael mentioned.

i did quick research - looks safari not support trying achieve.

the reason why solution works in chrome (and firefox) support download attribute - safari doesn't yet.


Comments

Popular posts from this blog

c++ - No viable overloaded operator for references a map -

java - Custom OutputStreamAppender not run: LOGBACK: No context given for <MYAPPENDER> -

java - Cannot secure connection using TLS -