MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

MongoDB GridFs với C #, làm thế nào để lưu trữ các tệp như hình ảnh?

Ví dụ sau cho thấy cách lưu tệp và đọc lại từ gridfs (sử dụng trình điều khiển mongodb chính thức):

 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);
       } 
    }
 }

Kết quả:

Tệp:

Bộ sưu tập chunks:

Hy vọng điều này sẽ giúp đỡ.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách sử dụng $ regex trong truy vấn tổng hợp mongodb trong $ match

  2. Bao gồm tất cả các trường hiện có và thêm các trường mới vào tài liệu

  3. Cách tạo chỉ mục trong MongoDB qua .NET

  4. Sắp xếp kết quả tổng hợp addToSet

  5. MongoDB $ isArray