大佬教程收集整理的这篇文章主要介绍了node.js – 使用mongoose在mongodb中存储文件,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用busboy模块将文件存储在特定文件夹中.这是我的代码
在路线:
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'); }); }); });
和我的前端:
<form method="post" action="/fileupload" enctype="multipart/form-data"> <input type="file" id="file" name="file"> <button type="submit">Submit</button> </form>
根据您的工作,您现在需要@L_686_0@mongoose插件,将您上传的文件存储到mongo GridFS中. GridFS在这里: – http://docs.mongodb.org/manual/core/gridfs/.您可以使用任何兼容的驱动程序访问网格 – mongoose和mongoose插件gridfs-stream就是一个例子 – 见这里:https://www.npmjs.org/package/gridfs-stream
var express = require('express'); var formidable = require('formidable'); var mongoose = require('mongoose'); var grid = require('gridfs-stream'); var fs = require('fs'); var util = require('util'); var app = express(); app.post('/fileupload',res) { var form = new formidable.IncomingForm(); form.uploadDir = __dirname + "/data"; form.keepExtensions = true; form.parse(req,function(err,fields,files) { if (!err) { console.log('File uploaded : ' + files.file.path); grid.mongo = mongoose.mongo; var conn = mongoose.createConnection('..mongo connection String..'); conn.once('open',function () { var gfs = grid(conn.db); var writestream = gfs.createWriteStream({ filename: files.file.name }); fs.createReadStream(files.file.path).pipe(writestream); }); } }); form.on('end',function() { res.send('Completed ..... go and check fs.files & fs.chunks in mongodb'); }); }); app.get('/',function(request,responsE){ response.send( '<form method="post" action="/fileupload" enctype="multipart/form-data">' + '<input type="file" id="file" name="file">' + '<input type="submit" value="submit">' + '</form>' ); }); app.listen(40000,function() { console.log('Express is listening on port 40000'); });
以上是关于如何在上传文件后继续进行的指南,它不是生产就绪的概念证明.请注意,我将busboy替换为强大的个人偏好.
继续前进是否有助于您?
SO1
以上是大佬教程为你收集整理的node.js – 使用mongoose在mongodb中存储文件全部内容,希望文章能够帮你解决node.js – 使用mongoose在mongodb中存储文件所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。