Nejjednodušší co mě napadá je to, že po vygenerování souboru na něj obyčejně odkážeš, o zbytek se postará prohlížeč, který po kliknutí na odkaz vyvolá save dialog.