MODIFICA: risposta syg è migliore. Basta usare la libreria downloadjs.
La risposta che ho fornito funziona bene su Chrome, ma su Firefox e IE è necessaria una variante diversa di questo codice. È meglio usare la libreria per questo.
ho avuto problema simile (bisogno di passare un colpo di testa autorizzazione a scaricare un file in modo this soluzione non ha aiutato).
Ma in base alla risposta this è possibile utilizzare createObjectURL
per fare in modo che il browser salvi un file scaricato dall'API di recupero.
getAuthToken()
.then(token => {
fetch("http://example.com/ExportExcel", {
method: 'GET',
headers: new Headers({
"Authorization": "Bearer " + token
})
})
.then(response => response.blob())
.then(blob => {
var url = window.URL.createObjectURL(blob);
var a = document.createElement('a');
a.href = url;
a.download = "filename.xlsx";
a.click();
});
});
fonte
2017-02-16 12:32:21
Che dire l'aggiunta di un attributo download per un collegamento che ha l'URL 'https://www.googleapis.com/drive/v2/files/$ {} fileId? Alt = media' – Arjun