Puede utilizar guión escrito por Filesaver.js eligrey (Im usando AngularJS en el ejemplo aquí) Puede lograr el mismo en javascript clásica usando el objeto XMLHttpRequest
//In your html code , add these : ->
<script src="https://rawgit.com/eligrey/FileSaver.js/master/FileSaver.js" type="text/javascript"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular-animate.js"></script>
//In your Javascript:-
$http({
url: "url where the file is located",
method: "GET",
responseType: "blob"
}).then(function (response) {
saveAs(response.data,"newfilename.extension");
})
posible duplicado de [Cambiar el nombre de una descarga html] (http://stackoverflow.com/questions/10037273/change-the-name-of-an-html-download) –