http://mongoexplorer.com/からの次の画像を見てください。
https://github.com/jamescarr/nodejs-mongodb-streamingを参照して、GridFS を操作しようとしています。アップロードしたファイルは正常に返され、次の 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」でファイル名です。
OK、キックのために、GridFS で小文字に変更しましたが、http://mongoexplorer.com/でアップロードされたファイルを取得するときに、ストリーム (上記のノードコード) でまだいくつかの破損が発生します。ただし、http://mongoexplorer.com/で [名前を付けて保存... ] をクリックすると、私の罰金は完全に元に戻ります。
私の質問に戻ると (私のテストでは何も証明されなかったので)、小文字の「N」を含むファイル名か、大文字の「N」を含むファイル名か、どちらでしょうか?