Ho riscontrato alcuni comportamenti imprevisti durante il tentativo di creare una funzionalità di download di file sul mio server NodeJS. Possiedo un'API REST (Express) che richiede una funzione di esportazione dei dati, che crea un file CSV sul server e utilizza res.download('path/to/file')
per attivare il download. intestazioni di risposta includonoContent-Disposition: allegato che non attiva la finestra di download
Content-Disposition:attachment; filename="indicators.csv"
Content-Length:30125
Content-Type:text/csv; charset=UTF-8
quindi tutto sembra essere in ordine.
Il problema è che ottengo la risposta dal server come testo normale. La risposta contiene tutti i dati contenuti nel file CSV, ma non attiva la finestra di download del file del browser come volevo. Ho provato entrambi su Chrome e FF. Il problema persiste in entrambi.
Qualche idea?
Aggiornamento
sono riuscito a farlo funzionare con la creazione di una forma fittizia, e con la sua azione presentare per rendere la mia chiamata AJAX. Ma è un brutto trucco, e sto ancora cercando una soluzione più elegante.
Come puoi vedere nella mia domanda, l'opzione 1 è ciò che ho finito usando. Ma devo ammettere che l'opzione 2 potrebbe essere una soluzione più elegante nel mio caso. – yarons