MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

MongoDB GridFs z C#, jak przechowywać pliki takie jak obrazy?

Poniższy przykład pokazuje, jak zapisać plik i odczytać go z gridfs (przy użyciu oficjalnego sterownika mongodb):

 var server = MongoServer.Create("mongodb://localhost:27020");
 var database = server.GetDatabase("tesdb");

 var fileName = "D:\\Untitled.png";
 var newFileName = "D:\\new_Untitled.png";
 using (var fs = new FileStream(fileName, FileMode.Open))
 {
    var gridFsInfo = database.GridFS.Upload(fs, fileName);
    var fileId = gridFsInfo.Id;

    ObjectId oid= new ObjectId(fileId);
    var file = database.GridFS.FindOne(Query.EQ("_id", oid));

    using (var stream = file.OpenRead())
    {
       var bytes = new byte[stream.Length];
       stream.Read(bytes, 0, (int)stream.Length);
       using(var newFs = new FileStream(newFileName, FileMode.Create))
       {
         newFs.Write(bytes, 0, bytes.Length);
       } 
    }
 }

Wyniki:

Plik:

Kolekcja kawałków:

Mam nadzieję, że ta pomoc.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB:aktualizuj każdy dokument w jednym polu

  2. Jak mogę zaimplementować uprawnienia na poziomie pola dla MongoDB?

  3. Trendy NoSQL — MongoDB, Cassandra, CouchDB i Riak

  4. Jak usunąć wiele kolekcji mongodb naraz?

  5. baza danych node.js