Sto usando un programma nodeJS come server e un'applicazione web AngularJS come client.AngularJS - Ricevi e scarica CSV
Per creare il CSV sto usando la libreria "express-csv" (https://www.npmjs.com/package/express-csv)
Ecco il mio codice lato server:
Definisce:
var app = express();
var csv = require('express-csv');
codice Get:
app.get('/exportDB', function(req, res){
res.csv([
["a", "b", "c"]
, ["d", "e", "f"]
]);
Ecco il mio lato client code:
$http.get("http://"+$localStorage.ip+":"+$localStorage.port+"/exportDB").success(function(response){
// HERE I NEED A WAY TO DOWNLOAD THE RECEIVED CSV
});
Inutile dire che raggiunge il server e tutto il resto funziona bene, ma non riuscivo a trovare un modo per scaricare il CSV. Aiuto per favore.
P.S
Si prega di non dire che è un duplicato di Prompt a csv file to download as pop up using node.js and node-csv-parser (node module) dal lato client non è realmente menzionato lì. Inoltre, altre domande sono focalizzate sul lato server anziché sul client. Non vi sono altre domande relative al client AngularJS.
Funziona, ma sto ricevendo un file denominato "exportDB" senza terminare. (Se aggiungo ".csv" è ok). Sai come posso denominare il file sul server prima di inviarlo? –
@ GuyBen-Moshe dovresti impostare le intestazioni 'res.setHeader ('Content-disposition', 'attachment; filename =' + filename); res.setHeader ('Content-type', mimetype); ' – karaxuna
Bello, grazie mille! –