Это на самом деле возможно с JavaScript, хотя поддержка браузера будет нестабильной. Вы можете использовать XHR2 для загрузки файла с сервера в браузер в качестве BLOB-объекта, создания URL-адреса для BLOB-объекта, создания якоря со свойством href, для которого установлено значение этого URL-адреса, для свойства загрузки задайте любое имя файла, а затем нажмите на ссылку. Это работает в Google Chrome, но я не подтвердил поддержку в других браузерах.
window.URL = window.URL || window.webkitURL;
var xhr = new XMLHttpRequest(),
a = document.createElement('a'), file;
xhr.open('GET', 'someFile', true);
xhr.responseType = 'blob';
xhr.onload = function () {
file = new Blob([xhr.response], { type : 'application/octet-stream' });
a.href = window.URL.createObjectURL(file);
a.download = 'someName.gif'; // Set to whatever file name you want
// Now just click the link you created
// Note that you may have to append the a element to the body somewhere
// for this to work in Firefox
a.click();
};
xhr.send();