} // End Sub CreateIndex // Following example show how to save file and read back from gridfs(using official mongodb driver): // http://www.mongovue.com/ public void Test() { MongoDB.Driver.MongoServer server = MongoServer.Create("mongodb://localhost:27020"); MongoDB.Driver.MongoDatabase database = server.GetDatabase("tesdb"); string fileName = "D:\\Untitled.png"; string newFileName = "D:\\new_Untitled.png"; using (System.IO.FileStream fs = new System.IO.FileStream(fileName, System.IO.FileMode.Open)) { MongoDB.Driver.GridFS.MongoGridFSFileInfo gridFsInfo = database.GridFS.Upload(fs, fileName); BsonValue fileId = gridFsInfo.Id; ObjectId oid = new ObjectId(fileId.AsByteArray); MongoDB.Driver.GridFS.MongoGridFSFileInfo file = database.GridFS.FindOne(Query.EQ("_id", oid)); using (System.IO.Stream stream = file.OpenRead()) { byte[] bytes = new byte[stream.Length]; stream.Read(bytes, 0, (int)stream.Length); using (System.IO.FileStream newFs = new System.IO.FileStream(newFileName, System.IO.FileMode.Create)) { newFs.Write(bytes, 0, bytes.Length); } // End Using newFs } // End Using stream } // End using fs } // End Sub Test
/// <summary> /// Opens an existing GridFS file for reading. /// </summary> /// <param name="remoteFileName">The remote file name.</param> /// <returns>A stream.</returns> public MongoGridFSStream OpenRead( string remoteFileName ) { var fileInfo = new MongoGridFSFileInfo(this, remoteFileName); return(fileInfo.OpenRead()); }
/// <summary> /// Opens an existing GridFS file for reading. /// </summary> /// <param name="remoteFileName">The remote file name.</param> /// <returns>A stream.</returns> public MongoGridFSStream OpenRead(string remoteFileName) { using (_server.RequestStart(_settings.ReadPreference)) { var serverInstance = _server.RequestServerInstance; var fileInfo = new MongoGridFSFileInfo(_server, serverInstance, _databaseName, _settings, remoteFileName); return(fileInfo.OpenRead()); } }
/// <summary> /// Opens an existing GridFS file for reading. /// </summary> /// <param name="remoteFileName">The remote file name.</param> /// <returns>A stream.</returns> public MongoGridFSStream OpenRead( string remoteFileName ) { var fileInfo = new MongoGridFSFileInfo(this, remoteFileName); return fileInfo.OpenRead(); }
/// <summary> /// Opens an existing GridFS file for reading. /// </summary> /// <param name="remoteFileName">The remote file name.</param> /// <returns>A stream.</returns> public MongoGridFSStream OpenRead(string remoteFileName) { using (_server.RequestStart(null, _settings.ReadPreference)) { var serverInstance = _server.RequestConnection.ServerInstance; var fileInfo = new MongoGridFSFileInfo(_server, serverInstance, _databaseName, _settings, remoteFileName); return fileInfo.OpenRead(); } }