示例#1
0
        } // 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
示例#2
0
        /// <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());
     }
 }
示例#4
0
 /// <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();
     }
 }