【发布时间】:2016-07-15 05:07:12
【问题描述】:
我正在开发一个 Meteor 应用程序。
目前,我的服务器上有一些 PDF。为了将这些已经存在的 PDF 直接提供给客户,我这样做并且效果很好:
Router.route("/file/:fileName", function() {
var fileName = this.params.fileName;
// console.log(process.env.PWD);
var filePath = process.env.PWD + '/' + fileName;
var fs = Meteor.npmRequire('fs');
var data = fs.readFileSync(filePath);
this.response.writeHead(200, {
"Content-Type": "application/pdf",
"Content-Length": data.length
});
this.response.write(data);
this.response.end();
}, {
where: "server"
});
我使用 CollectionFS 将这些 PDF 保存到 Mongo(稍后,我将生成 PDF 并保存它们。现在,我只是直接将这些已经存在的 PDF 保存到 Mongo,因为我首先想让 Mongo 部分工作。)。
testCollection = new FS.Collection("testCollection", {
stores: [new FS.Store.GridFS("testCollection")]
});
testCollection.allow({
'insert': function () {
return true;
}
});
var file = new FS.File(process.env.PWD + '/PDFKitExampleServerSide.pdf');
file.encoding = 'binary';
file.name('myPDF.pdf');
var document = testCollection.insert(file);
console.log(document._id);
我的问题是,在我使用 CollectionFS 将这些 PDF 保存到 Mongo 之后(就像我在上面所做的那样),我如何检索和提供这些 PDF?
Router.route("/database/:pdfId", function() {
//need help here
}, { where: "server"});
【问题讨论】:
标签: node.js mongodb meteor collectionfs