nodejs 操作gridfs
function exixtTest(Response) {MongoClient.connect("mongodb://test:test@192.168.147.128:27017/test", function(err, db) {
var gs = new mongodb.GridStore(db, "hello.txt", "r");
gs.open(function(err, gs) {
mongodb.GridStore.exist(db, "/tmp/hello.txt", function(err, result) {
db.close();
console.log(err, result);
if (!err) {
Response.end("haha");
} else {
Response.end("err");
}
})
});
});
}
function createFileFromData(Response) {
MongoClient.connect("mongodb://test:test@192.168.147.128:27017/test", function(err, db) {
var gs = new mongodb.GridStore(db, new Date().getTime() + ".txt", "w", {
"content_type" : "text/explain",
"metadata" : {
"author" : "Daniel"
},
"chunk_size" : 1024 * 4
});
gs.open(function(err, gs) {
gs.write("hello world", function() {
gs.close(function(err) {
db.close();
if (!err) {
Response.end("success");
} else {
Response.end("fail");
}
});
});
});
});
}
function createFsFromFile(Response){
MongoClient.connect("mongodb://test:test@192.168.147.128:27017/test", function(err, db) {
var gs = new mongodb.GridStore(db, new Date().getTime() + ".mp3", "w", {
"content_type" : "stream/music",
"metadata" : {
"author" : "wangdonghua",
"originName":"光辉岁月.mp3"
},
"chunk_size" : 1024 * 4
});
gs.open(function(err, gs) {
gs.writeFile("d:/ghsy.mp3", function() {
gs.close(function(err) {
db.close();
if (!err) {
Response.end("success");
} else {
Response.end("fail");
}
});
});
});
});
}
function readDataFromGFS1(Response){
MongoClient.connect("mongodb://test:test@192.168.147.128:27017/test", function(err, db) {
var gs = new mongodb.GridStore(db, "1422689423998.mp3", "r");
gs.open(function(err, gs) {
gs.read(gs.length ,function(err,data){
/**
* gs.length - length of the file in bytes
gs.contentType - the content type for the file
gs.uploadDate - when the file was uploaded
gs.metadata - metadata that was saved with the file
gs.chunkSize - chunk size
* */
gs.close();
db.close();
if(!err){
Response.end(data);
}else{
Response.end("error");
}
});
});
});
}
function readDataFromGFS2(Response){
MongoClient.connect("mongodb://test:test@192.168.147.128:27017/test", function(err, db) {
var gs = new mongodb.GridStore(db, "1422689423998.mp3", "r");
gs.open(function(err, gs) {
var readStream = gs.stream(true);
readStream.pipe(Response);
readStream.on("error",function(){
gs.close();
db.close();
Response.end("read file error");
});
readStream.on("end",function(){
gs.close();
db.close();
Response.end();
});
});
});
}
页:
[1]