Trigger a Browser's Save-As Dialog via Javascript using only On-page data

16,562

I don't think it's currently possible to trigger save as without doing some sort of request back to the server, but it's possible to export data from a loaded page using a Data URI. Have a look at my answer to this similar question.

Share:
16,562
Ian
Author by

Ian

Updated on June 15, 2022

Comments

  • Ian
    Ian almost 2 years

    As part of my page's output, I'm including a CSV formatted version of a data table in a text area, so that the user can easily copy/paste a CSV export into their spreadsheet of choice.

    I would like a way to have a button that, when clicked, will trigger a Save-as dialog that will download the CSV contents already present in the textarea on the page.

    The intention is to avoid another trip to the database to get the CSV export, when it is already on the page, while providing the user a shortcut around having to create a new file and paste in the copied CSV.

    Is this possible?

  • Ian
    Ian about 13 years
    Awesome, just what I needed. There are some unfortunate IE limitations, but what else is new.
  • Ian
    Ian about 13 years
    Just a note, this is all my final code had to look like: <a href='data:text/csv;base64,<?=base64_encode($this->export($r‌​esults))?>'>Download CSV</a>