/ / Angular2: Scarica il file xls che ho da back-end - php, excel, angular, laravel-5, maatwebsite-excel

Angular2: Scarica il file xls che ho da back-end - php, excel, angular, laravel-5, maatwebsite-excel

Sto usando l'API REST di Laravel 5.1 e maatwebsite soluzione per generare un file Excel sul back-end. L'unica cosa che voglio è iniziare a scaricare il file sul pulsante clic. Attualmente sto inviando una richiesta AJAX tramite Angular2 nativo Http servizio e ottenere qualcosa di simile

`��ࡱ�;��  ��������������������������������` ...

Come ho capito, in realtà restituisce un file, ma devo decodificarlo in modo corretto?

C'è una soluzione funzionante?

risposte:

1 per risposta № 1

Nel servizio o nel componente da cui si invia la richiesta http. mappa la tua risposta a BLOB. Importa ResponseContentType da @ angular / http. Per il download fai come segue:

var link=document.createElement("a");
link.href=window.URL.createObjectURL(res);
link.download="District.xls";
link.click();

In servizio fai così:

import { Response, ResponseContentType } from "@angular/http";

downloadExcel(){
let url = "your url/api"
return this.http.get(url,{headers:"pass your header",responseType: ResponseContentType.Blob})
.map(response=>response.blob())
.catch(error=>{return Observable.throw(error)})
}