我在使用 GridFS 正确存储和检索文件时遇到了一些问题。目前,如果我提交一个 .txt 文件,我最终会取回文件的内容,但如果我提交一个 .doc 文件,我会得到一堆乱码(比如带有问号的黑色钻石)。
我的最终目标只是能够提交文件,然后允许某人稍后根据不同的请求下载文件。
编写代码:
router.post('/jobs/listing/:job/apply', multipartyMiddleware, function(req, res, next){
var myFile = req.files.file;
var conn = mongoose.createConnection('mongodb://localhost/test');
conn.once('open', function () {
var gfs = Grid(conn.db, mongoose.mongo);
var readfile = fs.createReadStream(myFile.path);
var f = readfile.pipe(gfs.createWriteStream({
filename: myFile.name
}));
f.on('close', function(){
console.log('File Added to GRIDFS');
res.end();
});
});
}
阅读代码:
var conn = mongoose.createConnection('mongodb://localhost/test');
conn.once('open', function () {
var gfs = Grid(conn.db, mongoose.mongo);
var readstream = gfs.createReadStream({
filename: req.file //set to desired filename
});
var f = readstream.pipe(res);
});
有什么建议么?我非常感谢您能提供的任何帮助。谢谢。
编辑:问题与角度上传问题有关。