请看看下面的图片,从http://mongoexplorer.com/:MongoDB的GridFS的 - 它是文件名或文件名
我一直在试图通过GridFS的工作,引用https://github.com/jamescarr/nodejs-mongodb-streaming。我上传的文件很好地返回,通过以下get函数返回的流看起来正确。
var gridfs = (function() {
function gridfs() { }
gridfs.get = function (id, fn) {
var db, store;
db = mongoose.connection.db;
id = new ObjectID(id);
store = new GridStore(db, id, "r", {
root: "fs"
});
return store.open(function (err, store) {
if (err) {
return fn(err);
}
return fn(null, store);
});
};
return gridfs;
})();
使用http://mongoexplorer.com/我上传文件到GridFS的来进行测试,但是当我使用上面的节点代码来检索他们他们似乎打破。
那是当我注意到文件名/文件名的东西。在这里看/node_modules/mongodb/lib/mongodb/gridfs/gridstore.js我看到文件名的引用小写'N',但在我的GridFS中,它是一个大写'N'的文件名。
好吧,我只是为了踢腿,我在GridFS中将它改成了小写,但是当检索上传的文件http://mongoexplorer.com/时,我仍然在流(上面的节点代码)中出现了一些损坏。 点击另存为...在http://mongoexplorer.com/,但是带回我的罚款完美。 (我的测试似乎没有证明任何东西),我想知道它是哪一个:小写'N'的文件名,或帽中的'N'的文件名?
ps。我没有添加[MongoExplorer]标签所需的1500xp。 – 2012-04-21 20:45:59
为了我的好奇心,我在c#中尝试了同样的东西......看起来像node.js GridFS驱动程序中有一些有趣的东西。可惜 – 2012-04-21 20:54:54
以为我只是分享一些上面的代码用windows文件做的例子。文件与[MongoExplorer]一起上传。还用[MongoExplorer]下载。但是,Node GridStore流会损坏它。他们是:[windows-2008.txt](http://dl.dropbox.com/u/1334455/windows-before.txt)和[windows-after.txt](http://dl.dropbox.com /u/1334455/windows-after.txt) – 2012-04-22 09:55:43