Télécharger le fichier csv node.js
Je suis la création d'une application à l'aide de node.js et en essayant de télécharger des données en tant que fichier csv. Je suis à l'aide de json2csv (https://www.npmjs.com/package/json2csv) à cette fin. Toutefois, la façon dont je l'ai configuré, l' .csv fichier est stocké dans mon app du répertoire racine. Je veux que le fichier soit envoyé à l'utilisateur en téléchargement - par exemple, le fichier devrait apparaître dans de l'utilisateur /downloads
dossier. Voici mon code actuel:
var fields = ['car', 'price', 'color'];
var myCars = [
{
"car": "Audi",
"price": 1,
"color": "blue"
}, {
"car": "BMW",
"price": 1,
"color": "black"
}, {
"car": "Porsche",
"price": 1,
"color": "green"
}
];
json2csv({ data: myCars, fields: fields }, function(err, csv) {
if (err) console.log(err);
fs.writeFile('file.csv', csv, function(err) { //currently saves file to app's root directory
if (err) throw err;
console.log('file saved');
});
});
var file = '../software-project-metric-dashboard/file.csv';
res.download(file, 'testfile.csv');
Quelqu'un peut-il aider?
Merci!
Êtes-vous ou prévoyez-vous d'utiliser un framework comme l'express ou voulez-vous simplement d'avoir un serveur pour cette utilisation?
Je suis en utilisant le cadre express @cviejo
Essayez de suivre cette, revenir si vous rencontrez des problèmes: stackoverflow.com/questions/7288814/...
n'utilisez pas de fs.writeFile, au lieu de simplement envoyer le contenu avec le bon type de contenu, de la même manière que vous souhaitez envoyer le contenu html au client.
Je suis en utilisant le cadre express @cviejo
Essayez de suivre cette, revenir si vous rencontrez des problèmes: stackoverflow.com/questions/7288814/...
n'utilisez pas de fs.writeFile, au lieu de simplement envoyer le contenu avec le bon type de contenu, de la même manière que vous souhaitez envoyer le contenu html au client.
OriginalL'auteur Trung Tran | 2016-02-01
Vous devez vous connecter pour publier un commentaire.
Utiliser res.envoyer si vous utilisez express.
Vous devez définir un HTTP GET route qui ressemble à quelque chose comme ça:
Mais il s'affiche dans ma console onglet réseau comme un 304
hm étrange, que si u essayez simplement d'envoyer une chaîne de caractères et non pas le json.csv, juste pour le test?
OriginalL'auteur Kiechlus
Sur express serveur:
Sur le client (sinon la plupart des navigateurs de ne pas télécharger le fichier, même si vous verrez la réponse appropriée dans le panneau réseau):
OriginalL'auteur Alexander