stocker des fichiers dans mongodb à l'aide de la mangouste
Je suis de nouveau avec nœud et mongoDB. Je développe une application avec nodeJS, d'exprimer et de mongoDB. Je veux lire un fichier csv/fichier xlsx à partir d'un champ de saisie fichier et le stocker dans mongoDB à l'aide de la mangouste. Je vais avoir des difficultés. Je suis en utilisant angularjs dans ma frontale. Quelqu'un peut-il me donner des suggestions sur ce que la procédure que je devrais aller? Code spécifique sera d'une grande aide.
J'ai utilisé busboy module pour stocker les fichiers dans un dossier spécifique. Voici mon code
Dans les itinéraires de:
router.post('/fileupload', function (req, res) {
var fstream;
req.pipe(req.busboy);
console.log(req.pipe);
console.log(req.busboy);
req.busboy.on('file', function (fieldname, file, filename) {
console.log("Uploading: " + filename);
fstream = fs.createWriteStream('./files/' + filename);
file.pipe(fstream);
fstream.on('close', function () {
res.redirect('back');
});
});
});
et mon frontend:
<form method="post" action="/fileupload" enctype="multipart/form-data">
<input type="file" id="file" name="file">
<button type="submit">Submit</button>
</form>
Jusqu'à maintenant, il n'y a pas d'erreur. Maintenant, je veux juste stocker ces fichiers dans la base de données.
Que dois-je faire ensuite?
OriginalL'auteur ishakya | 2014-11-27
Vous devez vous connecter pour publier un commentaire.
Vous aurez probablement besoin de comprendre la base pour le stockage de fichiers dans mongo. Pourquoi les fichiers sont stockés dans mongo et comment elles sont stockées?
De ce que vous avez fait, vous avez maintenant besoin d'une mangouste plugin qui permettra de stocker votre fichier téléchargé dans mongo GridFS. Le GridFS est ici:- http://docs.mongodb.org/manual/core/gridfs/. Vous pouvez utiliser n'importe quel pilote compatible pour accéder à la grille de la mangouste et la mangouste plugin gridfs-stream sont un exemple - voir ici: https://www.npmjs.org/package/gridfs-stream
J'ai utilisé ci-dessous pour enregistrer un fichier dans le gridfs.
Ci-dessus est un guide sur la façon dont vous devez procéder, après le téléchargement de votre fichier et il n'est pas prêt pour la production de la preuve de concept. Notez que j'ai remplacé busboy avec redoutable qu'une question de préférence personnelle.
T-il vous aider à avancer?
RS1
soins de partager ce que vous avez fait? Actuellement, je veux faire quelque chose de similaire.
J'ai fini par enregistrer les fichiers dans le dossier de la structure à l'aide de aide-serveur, comme indiqué dans le code ci-dessus. Après cela, tout en insérant dans la base de données j'ai utilisé fs.readFileSync(filepath); pour stocker des fichiers à partir de filepath dans MongoDB.
OriginalL'auteur SOJ