Então … estou tentando resolver um problema relacionado a download de arquivos.
Uso Spring (com Security) no backend. Uso JQuey no Front.
Ocorre que na resposta (no Front) está falhando a recuperação do cabeçalho “Content-Disposition” (jqXHR.getResponseHeader(“Content-Disposition”) é igual a null). É importante acessar esse cabeçalho para que eu possa recuperar o nome do arquivo (é uma imagem).
O estranho é que se observar os cabeçalhos da resposta HTTP por meio do console de depuração do browser o “Content-Disposition” está lá (inclusive a imagem aparece). Mesmo assim, a lógica no meu código não consegue acessar o cabeçalho.
$.ajax({
url: backend+"/noauthe/filemngr/Download",
type: "POST",
cache: false,
headers: { 'Content-Type':'image/jpeg' },
responseType:'arraybuffer',
data: JSON.stringify(fileDescriptor)
}).success(function(data, textStatus, jqXHR) {
var downloadBlob = document.createElement("a");
downloadBlob.href = URL.createObjectURL(new Blob([data], {type: jqXHR.getResponseHeader("Content-Type")}));
downloadBlob.download = jqXHR.getResponseHeader("Content-Disposition").split("=")[1].trim();
document.body.appendChild(downloadBlob);
downloadBlob.click();
document.body.removeChild(downloadBlob);
}).fail(function(jqXHR, textStatus, errorThrown) {
console.log('[ERROR]');
console.log(jqXHR);
});
Alguém saca como resolve isso? Já li um bocado tentando encontrar o erro e … nada! 
Acho importante … essas chamdas ocorrem por meio de uso de cabeçalhos CROS e HTTPS