Может не все знают…
В HTML5 появился атрибут download для ссылок. Насколько известно, что бы отдать файл на скачку, нужно отдавать его через скрипт, который возвращает серию специальных заголовков:
Content-Description: File Transfer; Content-Type: application/force-download; Content-Type: application/octet-stream; Pragma: public; Expires: 0; Cache-Control: must-revalidate, post-check=0, pre-check=0; Cache-Control: private; Content-length: 123; Content-Disposition: attachment; filename="filename.png"; Content-Transfer-Encoding: binary; Connection: close;
Что-то вроде такого.
Теперь все намного проще и браузер все сделает за вас.
Download File
Можно указать имя, под которым файл будет сохранен:
Download File
В настоящий момент, атрибут download, поддерживают Google Chrome, Firefox и Opera.
Более подробно о поддержки браузерами можно посмотреть тут: http://caniuse.com/#feat=download